Re: [問題] 可以幫我看一下~attachMovie&Button

看板Flash作者 (玉仔〒△〒)時間18年前 (2007/09/06 18:32), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串4/4 (看更多)
※ 引述《icedesign (不可或缺的咖啡因)》之銘言: : ^^"新手試解練功力,高手不要看,我會害羞。 : 剛看了一下整個內容,以下是我自己的想法, : 講的不對或不好,麻煩各位多包涵,因為我真 : 的是新手在練功力 : ※ 引述《purplemio (噗哈~)》之銘言: : : xml.onLoad = function(success) { : : var node:XMLNode; : : if (success) { : : len = this.firstChild.childNodes.length; : : for(var i=0;i<len;i++){ : : node = this.firstChild.childNodes[i]; : : array.push(node.attributes.userid); : : } : : A = array; : ^^^^^^以上這邊都還好 : : for (var i = 0; i<len; i++) { : : _root.attachMovie("Button", "bb"+i, i,{_x:100, _y:20+50*i}); : ^^^^^^^^^ : ^^"個人覺得問題出在這。 : attachMovie的第二個欄位值是String,也就是會傳回mc的實 : 體名稱。 "bb"+i 這樣也是一個string噢, 假如i是100,會變成bb100。 這邊應該是沒問題的 : : with (_root["bb"+i]) { : : _root["bb"+i].label = A[i]; : ^^^^^^^^^^^^^^^^^^^^^^ : ^^"label應該是Button的其中一個屬性,如: Button.label : 那既然是這樣的話,_root["bb"+i]應該是不會有label的屬性 : 才對,所以A[i]在這邊沒辦法指定給_root["bb"+i]。 _root["bb"+i]實際上是在_root中取出實體名稱叫做 bb+一個數 的實體。如果說這個實體是Button,照您的說法,還是會有label 屬性的哦! : : } : : _root["bb"+i].onRelease = function(){ : : var userid = _root["bb"+i].label; : ^^^^^^^^^^^^^^^^^^^^^ : ^^"所以這個部份也是廢了。 這邊也和上面一樣,是ok的 :) 不過呢 要注意一點,onRelease=function,這東西咧 這邊是先宣告成這樣而已, 實際上要等到按下去才會去抓取變數的值。 換句話說,要等到你按下這個按鈕,才會去抓i值。 當程式跑完之後,這個i值已經變成len了 (因為:for(var i=0; i<len; i++) ) 所以你按下按鈕的時候,i已經變成len了,而不是你要的那個數。 所以這邊呢,就用this,取出自己的label就可以囉! : : trace(userid); //undefined~ : : } : : } : : } : : }; : : xml.load("http://127.0.0.1/shareobject/alluserid.php"); : = = 以上真的是新手練功力,如果講的不對,真的希望多多包涵, : 也希望有高手指正一下,希望這樣才會越來越進步,肛溫啊~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.173.38

09/06 18:36, , 1F
喔喔~謝謝^^
09/06 18:36, 1F

09/06 19:21, , 2F
成功哩^^~謝謝
09/06 19:21, 2F

09/07 01:26, , 3F
感謝啊!又多學了一點~ :)
09/07 01:26, 3F
文章代碼(AID): #16tzTP5f (Flash)
文章代碼(AID): #16tzTP5f (Flash)