|
Flash V2组件学习之V2扑克牌(1)
本文意图通过制作一个简单的V2组件来说明V2组件的好处。 因前2次都写到一半停电或是死机了,本次已再没有激情去修饰,简单介绍一下编写V2组件扑克牌的过程吧。 一、准备工作 首先你要找好52张牌的图像,大小王我没处理,如果你愿意的话修改就可以了,应该不超过2行。这52张图像导入到FLASH MX 2004中,然后打开库窗口,在每一个图像上右击,选择“链接”,勾上“为运行时共享导出”,并在“标识符”文本框中输入一个规范的名字,这个名字命名规则如下: 一张牌的名字由2个字符组成,前一个字符代表花色,分别是S(黑桃)、H(红桃)、C(草花)、D(方块)。第二个字符代表牌值,1代表A,2-9、J、Q、K分别对应扑克中的2-9、J、Q、K,0代表10。 二、编写类 因为本文2次写作过程都遇到意外,本次只简单把代码发上来吧,应该容易看得懂。 import mx.core.UIComponent class Card extends MovieClip { private var _value : String; [Inspectable(name="Card value", defaultValue="H1")] function set value (t:String) : Void { _value = t;
if (t.length != 2) { trace ("Invalid card value: "+t); } else if (t.charAt (0) != 'H' && t.charAt (0) != 'C' && //color t.charAt (0) != 'S' && t.charAt (0) != 'D') { trace (Formatter.format ("Invalid card color [%ARG%].", [t])); this.show = false; } else if ((t.charAt (1) == "J" t.charAt (1) == "Q" t.charAt (1) == "K") //value (t.charAt (1) <= "9" && t.charAt (1) >= "0")) { this.attachMovie (t, this._name, this.getDepth ()); } else { trace ("Invalid card value: "+t); this.show = false; } } [Inspectable(name="Show", defaultValue=true)] function set show (t:Boolean) : Void { if (_error) t = false; setProperty (this, _visible, t);
|