[AS3编程教学]Flash组件之单选按钮CheckBox使用

 时间:2024-10-11 19:28:31

1、首先我们新建一个空白文档,在文档上方写上“年龄选择”几个字,如图所示:

[AS3编程教学]Flash组件之单选按钮CheckBox使用

2、其次我们按下Ctrl+F7,打开组件面板,拖一个CheckBox控件到库里:

[AS3编程教学]Flash组件之单选按钮CheckBox使用

3、新建一个文档类TextCheckBox.as,我们输入以下代码,旨在先动态创建我们需要数量的单选组件在舞台上。package{i罪焐芡拂mport flash.display.Sprite;import fl.controls.CheckBox;/*** CheckBox组件测试使用* @author Tiger* 2012/3/16 15:05*/public class TextCheckBox extends Sprite{private var ageList:Array = ["小于18岁", "18岁至28岁", "29岁至39岁", "40岁至50岁","50岁至60岁", "60岁以上"];private var checkList:Array = [];public function TextCheckBox(){createCheckList();}private function createCheckList():void{var len:int = ageList.length;for (var i:int = 0; i < len; i++){var mCB:CheckBox = new CheckBox ();mCB.label = ageList[i];mCB.x = 210mCB.y = 80 + i * (mCB.height + 10);this.addChild(mCB);checkList[i] = mCB;}}}}

[AS3编程教学]Flash组件之单选按钮CheckBox使用

4、写完这段函数并将文档类关联到文件属性面板上,发布测试,你便会发现舞台上已经有了几个显示年龄的控件,只是这个时候控件是可以多选的:

[AS3编程教学]Flash组件之单选按钮CheckBox使用

5、一稍僚敉视个人的年龄只可能满足上面的某一个条件,不可能同时满足,所以说我们要给这些组件添加选中事件处理,选中某一个时,同时取消别的被选项目,继续晚上创建函数如下:private functi泠贾高框on createCheckList():void{var len:int = ageList.length;for (var i:int = 0; i < len; i++){var mCB:CheckBox = new CheckBox ();mCB.label = ageList[i];mCB.x = 210mCB.y = 80 + i * (mCB.height + 10);mCB.addEventListener(Event.CHANGE, selectCBHandler);this.addChild(mCB);checkList[i] = mCB;}}private function selectCBHandler(e:Event):void{var mCB:CheckBox = e.target as CheckBox;var len:int = checkList.length;for (var i:int = 0; i < len; i++){if (checkList[i] == mCB) continue;checkList[i].selected = false;}}

[AS3编程教学]Flash组件之单选按钮CheckBox使用

6、再次发布测试,此时我们可以实现单选了。

[AS3编程教学]Flash组件之单选按钮CheckBox使用

7、现在的问题是,我们单选了某个年龄,但是没有任何地方显示出来单选的内容提示,同时单选按钮鼠标移上去没有鼠标手出现,而且单选按钮的文字太小,看不大清除...所以我们继续把代码完善到如下所示://创建单选按钮private function createCheckList():void{var len:int = ageList.length;for (var i:int = 0; i < len; i++){var mCB:CheckBox = new CheckBox ();mCB.label = ageList[i];mCB.x = 210mCB.y = 80 + i * (mCB.height + 10);mCB.setSize(120, 25);mCB.useHandCursor = true;mCB.addEventListener(Event.CHANGE, selectCBHandler);setFormat(mCB);this.addChild(mCB);checkList[i] = mCB;}}//设置外观private function initParms():void{mForMat = new TextFormat();mForMat.align = TextFieldAutoSize.CENTER;mForMat.font = "微软雅黑";mForMat.size = 14;txtInfo = new TextField();txtInfo.x = 150;txtInfo.y = 300;txtInfo.autoSize = TextFieldAutoSize.LEFT;this.addChild(txtInfo);}private function setFormat(cb:CheckBox):void{cb.setStyle("textFormat", mForMat);}//处理点击事件private function selectCBHandler(e:Event):void{var mCB:CheckBox = e.target as CheckBox;var len:int = checkList.length;for (var i:int = 0; i < len; i++){if (checkList[i] == mCB) continue;checkList[i].selected = false;}txtInfo.text = "我的年龄:" + mCB.label;}

[AS3编程教学]Flash组件之单选按钮CheckBox使用

8、现在发布测试,我们希望的功能全部有了,一个Flash控件做的年龄选择功能就完成了。

[AS3编程教学]Flash组件之单选按钮CheckBox使用
  • flash绘制炎热沙漠的场景
  • 怎样用FLASH的F6键制作小动画脉动的小圆?
  • ptgui如何进行优化影像
  • Unity如何设计路灯模型
  • Flash 动画人物角色行走的几种实现方式
  • 热门搜索
    科学手抄报图片大全 节能手抄报 有关春天的手抄报 中华传统文化手抄报 小学生手抄报内容 好书推荐手抄报 冬至手抄报 手抄报的装饰 关于安全手抄报 我的中国梦手抄报内容