作者driftseed (阿辉)
看板Flash
标题[问题] 复制80个按钮
时间Wed Feb 9 15:57:00 2011
我想复制80个按钮当作Bingo的选号按钮,以下是语法
(版本 Flash CS3 AS2.0)
for (i=1; i<=80; i++) {
duplicateMovieClip(N_mc, "N"+i, i);
//N_mc为按钮影片
h = (i-1)%10;
v = (i-1-h)/10;
this["N"+i]._x = 35*h+25;
this["N"+i]._y = 35*v+30;
this["N"+i].T_txt.text = i;
this["N"+i].A_btn.alpha = i;
//alpha只是用来记录i值
this["N"+i].A_btn.onRelease = function() {
var k = this.alpha; //见底下问题二
Num(k);
//跑另一个Function纪录选了哪些号码
};
}
N_mc的设置是这样的
N_mc底下
↙ ↘
A_btn T_txt
用来被按的 用来显示按钮号码
问题一:这样是不是复制太多物件了,等於复制240个物件?
A_btn的alpha值不影响显示(按钮被遮住看不到),只是用来记录编号,
因为红色那行没有办法写成
var k = this["N"+i].T_txt.text ?
问题二:有没有办法直接取得T_txt的内容
最後想再请教大家
A_btn.alpha
和
A_btn._alpha
意义上有什麽不同?
谢谢
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.170.136.117
1F:→ aquarianboy:alpha 跟 _alpha 的差别,前面的是AS3、後面的是AS2 02/09 16:01
A_btn的alpha=整数i
k=A_btn.alpha ,k会是整数
k=A_btn._alpha ,k会是4.8916486 (i=5)
※ 编辑: driftseed 来自: 1.170.136.117 (02/09 16:06)
2F:→ aquarianboy:为什我记的刚好跟你相反,在AS3的alpha值是0~1之间 02/09 18:47
3F:→ aquarianboy:AS2的_alpha才是0~100 02/09 18:48
4F:→ aquarianboy:BTW, 你在AS2用AS3的.alpha不会出错是因为AS2可以这样 02/09 18:48
5F:→ aquarianboy:的"乱插旗子"(monkey patching) 02/09 18:49
6F:→ aquarianboy:不过不出错不代表结果是正常的就是了 02/09 18:49
7F:→ driftseed:我用的是as2啦 02/09 22:33
8F:→ aquarianboy:我知道,所以我才这样写 :) 02/09 23:04
9F:推 sudden422:你想作乐透猜号? 02/10 14:45
10F:→ driftseed:不算是 02/10 15:22
11F:推 scars:你怎不把onRelease写在N_mc里面 然後把T_txt.text转型 02/10 16:08
N_mc内写onRelease:
A_btn.onRelease = function(){
Num(k);
}
这样吗?
这样复制80个N_mc後,会不会无法区分出按了哪个号码 (每个按钮都是相同function)
(也许不是我想的这样,麻烦s大敎一下)
txt转型这我也不太懂...
※ 编辑: driftseed 来自: 1.170.130.103 (02/10 16:16)
12F:→ demojack:写一个自订事件在按下按钮的时候把自己的号码(参数)包进 02/24 09:43
13F:→ demojack:去,接着在stage侦听bobble上来的事件参数即可 02/24 09:45