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


    目前的任务是完成景区创建的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
  • 相关阅读:
    ThreeJS中的点击与交互——Raycaster的用法
    threejs地球之后:动画的控制
    threejs创建地球
    3d模型一般怎么导入到到Threejs中使用
    用three.js开发三维地图实例
    threejs使用各种坑实验过程
    用threejs实现三维全景图
    用threejs 实现3D物体在浏览器展示
    小议线程之单线程、多线程、线程池
    小谈MVC 模式
  • 原文地址:https://www.cnblogs.com/ternastone/p/1815418.html
Copyright © 2020-2023  润新知