programming/actionscript2014.12.05 16:00

Starling을 사용할때 Image의 smoothing이나 blendMode, touchable이 모두 기본 셋팅되어 있어, 퍼포먼스 하락을 가져옵니다. 이를 해결하기 위해 일일이 셋팅을 해줘야 하는데 여간 귀찮은 일이 아니죠.

그냥 이거 한 번 호출해주라고 함수 하나 만들어 봤습니다.


public function setAllDisplayChildrenRecursively(container:DisplayObjectContainer, cls:Class, properyName:String, val:*):void
{
	if (container)
	{
		var numChildren:int = container.numChildren;
		for (var i:int = 0; i < numChildren; i++) 
		{
			var child:DisplayObject = container.getChildAt(i);
			if (child is cls)
				(child as cls)[properyName] = val;
			else
				arguments.callee(child as DisplayObjectContainer, cls, properyName, val);
		}
	}
}

//call like below...
setAllDisplayChildrenRecursively(stage, Image, "smoothing", TextureSmoothing.NONE);
setAllDisplayChildrenRecursively(stage, Image, "touchable", false);

저작자 표시 동일 조건 변경 허락
신고
Posted by 귀뫄뉘

댓글을 달아 주세요

  1. 비밀댓글입니다

    2014.12.19 01:37 [ ADDR : EDIT/ DEL : REPLY ]