[問題] 複製80個按鈕

看板Flash作者 (阿輝)時間15年前 (2011/02/09 15:57), 編輯推噓2(2011)
留言13則, 5人參與, 最新討論串1/1
我想複製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

02/09 16:01, , 1F
alpha 跟 _alpha 的差別,前面的是AS3、後面的是AS2
02/09 16:01, 1F
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)

02/09 18:47, , 2F
為什我記的剛好跟你相反,在AS3的alpha值是0~1之間
02/09 18:47, 2F

02/09 18:48, , 3F
AS2的_alpha才是0~100
02/09 18:48, 3F

02/09 18:48, , 4F
BTW, 你在AS2用AS3的.alpha不會出錯是因為AS2可以這樣
02/09 18:48, 4F

02/09 18:49, , 5F
的"亂插旗子"(monkey patching)
02/09 18:49, 5F

02/09 18:49, , 6F
不過不出錯不代表結果是正常的就是了
02/09 18:49, 6F

02/09 22:33, , 7F
我用的是as2啦
02/09 22:33, 7F

02/09 23:04, , 8F
我知道,所以我才這樣寫 :)
02/09 23:04, 8F

02/10 14:45, , 9F
你想作樂透猜號?
02/10 14:45, 9F

02/10 15:22, , 10F
不算是
02/10 15:22, 10F

02/10 16:08, , 11F
你怎不把onRelease寫在N_mc裡面 然後把T_txt.text轉型
02/10 16:08, 11F
N_mc內寫onRelease: A_btn.onRelease = function(){ Num(k); } 這樣嗎? 這樣複製80個N_mc後,會不會無法區分出按了哪個號碼 (每個按鈕都是相同function) (也許不是我想的這樣,麻煩s大敎一下) txt轉型這我也不太懂... ※ 編輯: driftseed 來自: 1.170.130.103 (02/10 16:16)

02/24 09:43, , 12F
寫一個自訂事件在按下按鈕的時候把自己的號碼(參數)包進
02/24 09:43, 12F

02/24 09:45, , 13F
去,接著在stage偵聽bobble上來的事件參數即可
02/24 09:45, 13F
文章代碼(AID): #1DKaZGLF (Flash)