即时在框架3 ..我对艺名scoreTxt ..在框架3 I加入TryClass文本字段..
var Try:TryClass = new TryClass();
TryClass有..这是工作的罚款updateScore的功能,如果在框架3 IM所以我的代码
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..
其到达框架“主”,但其指向误差这个 - >
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。*我添加的类..但对“主” FRAM ..its上框架3工作正常。它不是..
尝试使用(root as MovieClip)
代替MovieClip(root)
的
我的猜测是,“根”是不确定的,因为我猜TryClass不是从生活在现有的层次结构的MovieClip或其他的DisplayObject继承。
为了解决这个问题,我想一个参数添加到类的构造函数。然后,我把它送您可以访问一个影片剪辑。举例来说,如果你是从一个影片剪辑实例内部类,只是把它的“本”为那部电影。
public class TryClass {
...
static var myroot:MovieClip = null;
...
public function TryClass(someclip:MovieClip=null) {
...
if (this.myroot == null && someclip != null && someclip.root != undefined) {
this.myroot = someclip.root;
}
...
}
...
}
然后从影片剪辑中:
var something = new TryClass(this);
无论如何,这是我使用的为我做一类的技术。对于我的,我如果类检测根已经没有它加载后增加一个外部的影片剪辑实例。就我而言,从我装的包装类称为通用负载吧。如果我把它放在已经特定电影有一个自定义加载条,那么就不会做任何事情,但对于任何我没有一个在的是,它会添加它。