zoukankan      html  css  js  c++  java
  • as3.0学习笔记——坐标轴、并记录画图所犯的两个低级错误

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

    今天项目中用到了时时动态曲线图的功能,因为平时项目很少用到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——自动闭合、并填充。

  • 相关阅读:
    [Leetcode] Copy List with Random Pointer
    [Java] StringBuffer类
    [Leetcode] Wildcard Matching
    [Leetcode] Substring with Concatenation of All Words
    [Leetcode] Longest Palindromic Substring
    [Leetcode] Maximum Product Subarray
    [leetcode] Permutation Sequence
    [Leetcode] Simplify Path
    [Leetcode] Minimum Window Substring
    Owin asp.net 脱离 IIS
  • 原文地址:https://www.cnblogs.com/lxiang/p/2473898.html
Copyright © 2011-2022 走看看