Re: [問題] 共同宣告,各別呼叫。
※ 引述《aquarianboy (我是沒牌的營養師!)》之銘言:
: ※ 引述《icedesign (不可或缺的咖啡因)》之銘言:
: : function test() {
: : for (var i:Number = 1; i<=6; i++) {
: this["test"+i+"_btn"].i = i; //加這行
: : this["test"+i+"_btn"].onRelease = function() {
: : if (i=1) {
: : //trace(i);
: trace(this.i); //改成this.i,其它以此類推
: : }
: : };
: : }
: : }
: : test();
: 應該這樣就行了
: 另外,即然這麼多個if,建議可以改用switch-case的方式 :)
: 供你參考
嗯嗯,可以解說一下,為什麼要加
this["test"+i+"_btn"].i = i; //
這一行呢?意思是說,按鈕的i值將會等於i嗎?
然後剛剛爬文,看到之前有個類似的問題,版上版友有人解答,不過倒
是有很多疑問:
var i:Number = 0;
var chosenPart:Number = 0;
for (i=1; i<=6; i++) {
this["part_"+i+"_mc"].onRelease = function() {
chosenPart = int(this._name.substr(5, 1));
trace(chosenPart);
};
}
上面這道式子就可以將場景上6個mc共同宣告,各別丟出不一樣的值,因為
我很想瞭解原因,所以反推了很多次,不過還是不懂下面這行
int(this._name.substr(5, 1));
這一行當中的int我已經將它改為Math.round,而substr中的值,(5,1),
我以為有六個mc,將原先的5改成6,結果丟出來的值卻變成全部都是"0"
如果將5改成-1到4之間的數字,則丟回NaN,@@""可以請高手解說一下是
怎麼一回事嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.178.144
推
06/01 12:06, , 1F
06/01 12:06, 1F
→
06/01 12:07, , 2F
06/01 12:07, 2F
→
06/01 12:09, , 3F
06/01 12:09, 3F
→
06/01 12:12, , 4F
06/01 12:12, 4F
→
06/01 12:13, , 5F
06/01 12:13, 5F
推
06/01 13:22, , 6F
06/01 13:22, 6F
→
06/01 13:23, , 7F
06/01 13:23, 7F
→
06/01 13:24, , 8F
06/01 13:24, 8F
→
06/01 13:24, , 9F
06/01 13:24, 9F
討論串 (同標題文章)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章