я в кадре 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()
это строка 686 Tumba.as - 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. это не..