我在第 3 帧 .. 我在舞台名称 scoreTxt 上有文本字段 .. 在第 3 帧我添加了 TryClass ..
var Try:TryClass = new TryClass();
TryClass 具有 updateScore 的功能。如果我在第 3 帧上,这工作正常。所以我的代码是
public function updateScore(amount:int):void
{
score += amount;
if(score < 0) score = 0;
realNumber = score;
setInterval(updateDisplayedScore, 10);
}
public function updateDisplayedScore():void
{
displayedNumber += Math.round((realNumber-displayedNumber)/5);
if (realNumber - displayedNumber < 5 && realNumber - displayedNumber > -5)
{
displayedNumber = realNumber;
}
addZeros();
}
public function addZeros():void
{
var str:String = displayedNumber.toString();
MovieClip(root).scoreNa.text = str;
}
但是如果例如..用户死亡或者他达到了要求的分数..我想使用这个代码去某个帧..
MovieClip(this.root).gotoAndStop("Main"); this code is on the class..
它到达框架“Main”但它指向错误->
MovieClip(root).scoreTxt.text
“主”框架在第 4 帧上。我还没有添加 TryClass。我应该将 TryClass 添加到我的所有框架中吗?那是怎么回事?
对不起这个问题..我还不知道如何在课堂上完美编码..以及访问时间线和其他外部类..请不要使用更深层次的 actionscript 语言..仅限初学者..
这是我转到“主要”框架时的完整错误消息
TypeError: Error #1009: Cannot access a property or method of a null object reference.
atTumba/addZeros()[C:\Documents and Settings\Chrissan\Desktop\Game and Docs\Game\Tumba.as:686]
atTumba/updateDisplayedScore()[C:\Documents and Settings\Chrissan\Desktop\Game and Docs\Game\Tumba.as:680]
atFunction/http://adobe.com/AS3/2006/builtin::apply()
atSetIntervalTimer/onTimer()
atflash.utils::Timer/_timerDispatch()
atflash.utils::Timer/tick()
这是 Tumba.as 的第 686 行 -MovieClip(root).scoreNa.text = str;
public function updateDisplayedScore():void
{
displayedNumber += Math.round((realNumber-displayedNumber)/5);
if (realNumber - displayedNumber < 5 && realNumber - displayedNumber > -5)
{
displayedNumber = realNumber;
}
addZeros(); -->> this is the line 680 of Tumba.as
}
关于setInterval先生..它工作正常,因为我导入了flash.utils.* ..它在我添加类的第3帧上工作正常..但在“主”帧上。它不是..