[問題] 1010 為什麼我的物件找不到了呢?

看板Flash作者 (皮爺)時間15年前 (2011/05/06 00:47), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
各位好 我正在寫一支賽馬的遊戲 大致的結構是 讀到XML,丟進自己宣告的XML物件中 ↓ new我自訂的馬物件,把XML傳進建構函數裡設定 ↓ Timer每一跳都會移動馬匹物件 ←就是這裡 Timer抓不到馬匹物件,也抓不到XML物件,全部指到null(我都快哭了 我把重點的部分貼出來 ---------------------------------- var raceXML:XML; var xmlLoader:URLLoader = new URLLoader(); xmlLoader.dataFormat = URLLoaderDataFormat.TEXT; xmlLoader.addEventListener(Event.COMPLETE,onXmlLoadComplete); xmlLoader.load(new URLRequest("1_8_1.xml")); function onXmlLoadComplete(e:Event):void { raceXML = new XML(e.target.data); for each (var questXML:XML in raceXML..horse) { howManyHorses++; } trace("抓到你啦"+raceXML.horse[1].@uName); creatMiniHorses(); timerOne.start(); } ---------------------------------- function TimerOne(e:TimerEvent):void {//Timer1的觸發事件 ///////中間提示動作///////////////// randomEventForCenterTip = Math.random() * 10; if (randomEventForCenterTip <= 3) {//機率10取3 centerTipMovieClip.gotoAndStop(Math.floor((Math.random()*3))+1); trace("timer 1 running"+raceXML.horse[1].@uName); } ///////迷你馬標//////////////////// for (var i=0; i<howManyHorses; i++) { trace("horseSequence[i] "+horseSequence[i]); horseSequence[i].x -= horseSequence[i].s; myMiniHorse.x -= myMiniHorse.s; //horseSequence.s是來自miniHorse類別的屬性s 表示速度 showSpeed.text = myMiniHorse.s.toString(10);//左下角顯示速度 } } } ---------------------------------- function creatMiniHorses():void {//建造迷你馬標 trace("creasing mini horses....."+raceXML.horse[1].@uName); for (var i=1; i<howManyHorses; i++) { horseSequence[i] = new miniHorse(raceXML,i,stageW); trace("now this is..."+this); this.addChild(horseSequence[i]); } myMiniHorse = new miniHorse(raceXML,0,stageW); this.addChild(myMiniHorse); } ---------------------------------- 本來呼叫creatMiniHorses();不是寫在onXmlLoadComplete的 最初是把它寫在函數之外,整支程式的末端 這樣結果更慘,是1009 然後試著trace發現在creatMiniHorses中抓不到raceXML 只好把它移到onXmlLoadComplete裡面@@ 矇著眼睛解決之後,就變成Timer抓不到了 TypeError: Error #1010: 詞彙未定義且沒有屬性。 at horse_fla::MainTimeline/TimerOne() at flash.utils::Timer/_timerDispatch() at flash.utils::Timer/tick() 囧rz..... 這下我完全不知道該怎麼處理 其實當初問題為什麼會發生也不清楚,只知道結果就是指不到Q皿Q 請各位幫忙提示一下,感恩!感恩! 假如上面簡短版貼不夠的話可以載我的整包很丟臉原始檔 http://ppt.cc/_U9d 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.234.21

05/06 01:27, , 1F
很簡單 你看一下你所有的迴圈跟陣列 為什麼index起始
05/06 01:27, 1F

05/06 01:27, , 2F
有時候是0有時候是1
05/06 01:27, 2F
!!!真是一語驚醒夢中人 這個地方我完全忽略掉了 因為整支程式還沒改成讀XML之前跑都正常 原來是這麼笨的問題囧 太感謝了!!!! ※ 編輯: p52189 來自: 114.42.234.21 (05/06 01:39)
文章代碼(AID): #1DmjIF26 (Flash)
文章代碼(AID): #1DmjIF26 (Flash)