作者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