作者p52189 (皮爷)
看板Flash
标题[问题] 1010 为什麽我的物件找不到了呢?
时间Fri May 6 00:47:09 2011
各位好
我正在写一支赛马的游戏
大致的结构是
读到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
1F:推 scars:很简单 你看一下你所有的回圈跟阵列 为什麽index起始 05/06 01:27
2F:→ scars:有时候是0有时候是1 05/06 01:27
!!!真是一语惊醒梦中人
这个地方我完全忽略掉了
因为整支程式还没改成读XML之前跑都正常
原来是这麽笨的问题囧
太感谢了!!!!
※ 编辑: p52189 来自: 114.42.234.21 (05/06 01:39)