as3.0学习笔记——坐标轴、并记录画图所犯的两个低级错误

flash的坐标轴和数学当中的坐标轴不一样,如下图

as3.0学习笔记——坐标轴、并记录画图所犯的两个低级错误

今天项目中用到了时时动态曲线图的功能,因为平时项目很少用到as3.0。所以比较生疏,只能霸王硬上弓了。结果一开始就让我遇到一些低级错误。记录下来,留作以后参考。

刚开始时,想画一个简单的曲线。代码如下:

package  {

	

	import flash.display.MovieClip;

	import flash.display.Sprite;

	import flash.events.MouseEvent;

	

	

	public class Main extends MovieClip{		

		public var Width:int=550;

		public var Height:int=400;

		public var PointX:int=0;

		public var PointY:int=0;

		var Map:Sprite=new Sprite();

		

		public function Main() {

			CreateMap();

		}



		public function CreateMap()

		{

			this.Map.width=this.Width;

			this.Map.height=this.Height;

			this.Map.x=this.PointX;

			this.Map.y=this.PointY;

			this.addChild(this.Map);

			this.Map.graphics.clear();

			this.Map.graphics.lineStyle(1,0xff0000);

			this.Map.graphics.moveTo(0,0);

			this.Map.graphics.lineTo(0,20);

			this.Map.graphics.lineTo(10,20);

			this.Map.graphics.lineTo(20,40);

			this.Map.graphics.lineTo(30,50);

		}

	}

	

}

 结果,曲线怎么都显示不出来。当时非常的郁闷。后来请教了一些朋友,只要注释掉 this.Map.width=this.Width; this.Map.height=this.Height;这两句代码就可以了。想不通为什么?希望有高手能帮我解答

 

犯的第二个低级错误,发生在graphics.beginFill ,.graphics.endFill()上。代码如下:

package  {

	

	import flash.display.MovieClip;

	import flash.display.Sprite;

	import flash.events.MouseEvent;

	

	

	public class Main extends Sprite {		

		public var Width:int=550;

		public var Height:int=400;

		public var PointX:int=0;

		public var PointY:int=0;

		var Map:Sprite=new Sprite();

		

		public function Main() {

			CreateMap();

		}



		public function CreateMap()

		{

			//this.Map.width=this.Width;

			//this.Map.height=this.Height;

			this.Map.x=this.PointX;

			this.Map.y=this.PointY;

			this.addChild(this.Map);

			this.Map.graphics.clear();

			this.Map.graphics.beginFill(0xff0000,1);

			this.Map.graphics.lineStyle(1,0xff0000);

			this.Map.graphics.moveTo(0,0);

			this.Map.graphics.lineTo(0,20);

			this.Map.graphics.lineTo(10,20);

			this.Map.graphics.lineTo(20,40);

			this.Map.graphics.lineTo(30,50);

			this.Map.graphics.endFill();

		}

	}

	

}

 结果显示出来的是填充过的图形,当时怎么愣是没想明白,我画线怎么出来这奇怪的图案。后来还是经朋友提点。beginFill——自动闭合、并填充。

你可能感兴趣的:(学习笔记)