今天是全面开发的第一天,特此纪念

目前的任务是完成景区创建的Flash应用。开发工具是基于Flex Builder.开发语言是AS3. 本来是想使用Flash CS5作为开发的,但是由于和Flex Builder的开发流程是有些不同,所以还是使用原来使用的工具进行开发好了。

今天主要任务是:

  • 熟悉了自定义控件的使用方法
  • 基于Graphics的自绘制
  • 熟悉了Windows Live Writer的用法(本文就是使用Live Writer撰写,可惜失败了。只得从页面重新输入)

为了测试一下代码着色插件的用法,贴一段AS的代码上来:

 

  
    
1 <? xml version = " 1.0 " encoding = " utf-8 " ?>
2   < mx:Canvas xmlns:mx = " http://www.adobe.com/2006/mxml " creationComplete = " init() " >
3 < mx:Script >
4 <! [CDATA[
5 import mx.core.UIComponent;
6 import mx.controls.Alert;
7
8 // 定义控件的棋格图案的绘制颜色,背景色以及棋格大小
9 // 定义为属性
10   private var _dot_color : uint = 0xCCCCCC ;
11 private var _back_color : uint = 0xFFFFFF ;
12 private var _dot_size : uint = 8 ;
13
14 // 一个示例的Sprite,用于会知道BITMAPDATA上
15   private var CUBE : Sprite = new Sprite();
16 // 棋格BITMAPDATA,用于repeat
17   private var bmpData : BitmapData = null ;
18
19 public function get DOT_COLOR():uint
20 {
21 return _dot_color;
22 }
23
24 public function set DOT_COLOR(c:uint): void
25 {
26 _dot_color = c;
27 }
28
29 public function get BACK_COLOR():uint
30 {
31 return _back_color;
32 }
33
34 public function set BACK_COLOR(c:uint): void
35 {
36 _back_color = c;
37 }
38
39 public function get DOT_SIZE():uint
40 {
41 return _dot_size;
42 }
43
44 public function set DOT_SIZE(c:uint): void
45 {
46 _dot_size = c;
47 }
48
49
50
51 private function init(): void
52 {
53 // 初始化,绘制一个棋格,并绘制到BITMAPDATA上
54   CUBE.graphics.beginFill(DOT_COLOR);
55 CUBE.graphics.drawRect( 0 , 0 ,DOT_SIZE,DOT_SIZE);
56 CUBE.graphics.drawRect(DOT_SIZE,DOT_SIZE,DOT_SIZE,DOT_SIZE);
57 CUBE.graphics.endFill();
58
59 bmpData = new BitmapData(DOT_SIZE * 2 ,DOT_SIZE * 2 , false ,BACK_COLOR);
60 bmpData.draw(CUBE);
61
62 // 更新屏幕
63   this .invalidateDisplayList();
64
65 }
66
67
68 protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number): void
69 {
70 if (bmpData != null )
71 {
72 // 将整个控件区域以repeat模式填充BITMAPDATA
73   this .graphics.beginBitmapFill(bmpData, null , true , false );
74 this .graphics.drawRect( 0 , 0 ,unscaledWidth,unscaledHeight);
75 this .graphics.endFill();
76 }
77 /*
78 this.graphics.clear();
79 this.graphics.beginFill(BACK_COLOR);
80 this.graphics.drawRect(0,0,unscaledWidth,unscaledHeight);
81
82 this.graphics.beginFill(DOT_COLOR);
83
84 var x_cnt : uint = unscaledWidth /2/ DOT_SIZE + 1;
85 var y_cnt : uint = unscaledHeight / DOT_SIZE +1;
86
87
88 for(var i : uint = 0; i<x_cnt;i++)
89 for(var j : uint = 0; j<y_cnt;j++)
90 {
91 if(j%2==0)
92 this.graphics.drawRect(i*DOT_SIZE*2,j*DOT_SIZE,DOT_SIZE,DOT_SIZE);
93 else
94 this.graphics.drawRect((i*2+1)*DOT_SIZE,j*DOT_SIZE,DOT_SIZE,DOT_SIZE);
95 }
96
97 this.graphics.endFill();
98 */
99 }
100 ]] >
101 </ mx:Script >
102
103   </ mx:Canvas >
104

 

 

你可能感兴趣的:(开发)