【发布时间】:2013-10-19 21:39:57
【问题描述】:
我在第 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 帧上工作正常.. 但在“主”帧上。不是..
【问题讨论】:
-
scoreTxt 还是 scoreNa ? scoreNa 正确吗?
-
我的意思是 scoreNa 先生。对不起..它还没有修复..当我去下一帧时..它似乎找到了 scoreNa.text.. 因为 scoreNa.text 只在第 3 帧。
标签: actionscript-3 flash adobe movieclip flash-cs5.5