ActionScript
TypeScript
JavaScript

位置与轴心点

发布时间:2017-01-21

        在LayaAir引擎中可以通过修改像是对象的x,y坐标来改变显示对象的位置,除此之外,轴心点pivotX pivotY的设置也会影响显示对象的显示位置。轴心点pivotX pivotY表示显示对象的(0,0)点在哪里,轴心点不仅影响位置偏移,还会影响旋转缩放的效果,旋转和缩放都会以轴心点为中心进行。下面给一个位置与轴心点的例子。


package  
{
	import laya.display.Sprite;
	public class PosAndPivotSample 
	{
		
		public function PosAndPivotSample() 
		{
			Laya.init(1000, 900);
			test();
		}
		private function test():void
		{
			var container0:Sprite;
			container0 = createSample(0, 0);
			container0.pos(100, 200);
			Laya.stage.addChild(container0);
			
			
			var container1:Sprite;
			container1 = createSample(-20, -20);
			container1.pos(400, 200);
			Laya.stage.addChild(container1);
		}
		private function createSample(pivotX:Number,pivotY:Number):Sprite
		{
			var container:Sprite;
			container = new Sprite();
			//创建一个父容器
			container.graphics.drawRect(0, 0, 200, 200, "#ff0000");
			
			var child:Sprite;
			child = new Sprite();
			//创建一个子对象
			child.graphics.drawRect(0, 0, 20, 20, "#00ff00");
			//给子对象设置轴心点的值
			child.pivotX = pivotX;
			child.pivotY = pivotY;
			
			container.addChild(child);
			
			return container;
		}
	}

}

blob.png

        从运行结果上可以看到虽然子对象的坐标一样,但是由于右边的子对象设置了轴心点,两个显示结果就不一样了。