Actionscript---Scale

Scale都是让注册点不变的。
package {
	import flash.display.Sprite;
	import flash.events.MouseEvent;

	public class EllispseTest extends Sprite
	{
		private var s1:Sprite;
		private var s2:Sprite;
		private var bigRadius:Number=100;
		private var smallRadius:Number=30;
		
		public function EllispseTest()
		{
			s1=new Sprite();
			s1.graphics.lineStyle(1);
			s1.graphics.beginFill(0xffffff);
			s1.graphics.drawEllipse(0,0,bigRadius,smallRadius);
			s1.x=100;
			s1.y=100;
			addChild(s1);
			
			
			
			
			s2=new Sprite();
			s2.graphics.lineStyle(1);
			s2.graphics.beginFill(0xffffff);
			s2.graphics.drawEllipse(-bigRadius/2,-smallRadius/2,bigRadius,smallRadius);
			s2.x=200;
			s2.y=200;
			addChild(s2);
			
			makePoint(100,100);
			makePoint(200,200);
			s1.addEventListener(MouseEvent.MOUSE_WHEEL,onMouseWheel);
			s2.addEventListener(MouseEvent.MOUSE_WHEEL,onMouseWheel);
		}
		private function onMouseWheel(e:MouseEvent):void{
			if(e.delta==3){
				e.target.scaleX*=2;
				e.target.scaleY*=2;
			}else{
				e.target.scaleX/=2;
				e.target.scaleY/=2;
			}
		}
		private function makePoint(x:Number,y:Number):Sprite{
			var sprite:Sprite=new Sprite();
			sprite.graphics.lineStyle(10);
			sprite.graphics.lineTo(2,0);
			addChild(sprite);
			sprite.x=x;
			sprite.y=y;
			
			return sprite;
		}
	}
}
地址:https://files.cnblogs.com/carlosfu/EllispseTest.rar


posted @ 2010-06-07 10:58  carlosfu  阅读(282)  评论(0编辑  收藏  举报