В основном я кодирую для переключения между сценами, нажимая кнопки. Я даю имена сцен с песком в виде фреймов. MovieClip (root) .gotoAndStop (frameLabel, sceneName); отлично работает на сцене. Но когда я использую то же самое в классе, он выдает предупреждение TypeError: Ошибка # 1009: Невозможно получить доступ к свойству или методу ссылки на нулевой объект. Я знаю, что это происходит, поскольку для класса нет корня. Есть ли способ его исправить. Пожалуйста, найдите код ниже.Ссылающийся этап из класса Action Script 3
// код класса
package {
import flash.events.KeyboardEvent;
import flash.events.MouseEvent;
import flash.display.SimpleButton;
import flash.display.*;
import flash.text.*;
import flash.events.Event;
import flash.display.MovieClip;
public class ClickButton extends SimpleButton {
public var fLabel:String;
public var sName:String;
public var sNumber:Number;
public function ClickButton()
{
}
public function GotoSession(sesBut:SimpleButton, frameLabel:String, sceneName:String):void {
sesBut.addEventListener(MouseEvent.CLICK, gotoSes);
function gotoSes(event:MouseEvent):void {
MovieClip(root).gotoAndStop(frameLabel, sceneName);
}
}
}
// AS3 код
var btn1 = new ClickButton();
addChild(btn1);
btn1.GotoSession(home, "menu", "Home");
:). Большое спасибо. Оно работает. – Rajesh
Happy for You @Rajesh Я никогда не создавал сцену в AS3, поэтому я даже не стал создавать один, что было для меня самым трудным. Но я думаю, что вы могли бы улучшить свой код ... – tatactic
Так вот что вы хотели спросить в http://stackoverflow.com/questions/40603368/accessing-root-from-the-class-in-action-script- 3? Теперь это становится яснее! +1 для вашего вопроса так. – tatactic