AS3技巧集:6.给舞台上的N个按钮,批量添加鼠标单击操作
【问题描述】:
舞台上已经放置好了数个按钮,单击它们的时候实现类似的效果,如果每一个都单独的书写,太麻烦了,是否有简易方法呢。 【解决方案】: 该问题在AS3内超级容易解决,不过,按钮的实例名必须非常有规律,必须设置为“字母+数字”的形式,字母都一样,数字从0或1开始,每次增加1个单位。形如下面的命名: btn1 btn2 btn3 btn4 btn5 btn6 btn7 下面给出具体问题: 舞台上有10个按钮,分别设置了实例名,btn1到btn10 舞台上还有两个动态文本,实例名为xianshi1与xianshi2 xianshi1用于显示当前单击的按钮的数字【属性面板内使用了“嵌入”数字的方式以消除锯齿】, xianshi2用于显示汉字【属性面板内不消除锯齿,因为“嵌入”了所有汉字的话,会导致swf体积超大】 代码如下:
看截图中代码所在的行号: 1:定义一个数组,用于存储汉字的,该数组内共有10个元素,分别对应10个按钮单击后的输出 2-11:设置10个元素的值,注意要用双引号括起来 12-18:批量代码 13:利用this[实例名]的手段,可以访问到舞台上的对象 15:在14行内有一个名为e的参数,在15行内通过e.target.name即可访问到当前被单击对象的实例名,e.target.name是String字符串类型的,调用它的substr(n)方法,可以截取从第n个字符开始到最后的所有字符串,截取后的类型是字符串类型的 16.uint(e.target.name.substr(3))是将提取出来的字符串转换为uint数据类型,用于数组的索引的 索引值是从0开始的,而我们给按钮设置的实例名是从1开始的,故这里需要-1 源文件下载【flashCS6格式】: 本帖隐藏的内容需要回复才可以浏览
最近访问本帖者列表: | ||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||