我是一个闪光的完整菜鸟,知道我只是遗漏了一些明显的东西。
我将我的屏幕设计为一个动画片段,并在每个动画片段中都有按钮,将菜单屏幕链接在一起......使用时间轴和代码片段,一切正常。
现在,我正在尝试在代码中执行此操作,我遇到了一些问题:
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class Main extends MovieClip {
public function Main() {
// define variable main as the movieclip main
var main = new Main_menu();
var instructions = new instructions();
//add the movieclip to the stage
addChild(main);
// Tell the button to run function on_play.....
Instructions_btn.addEventListener(MouseEvent.CLICK, on_play_button_clicked);
}
// what the button does
public function on_play_button_clicked(event:MouseEvent) {
addChild(instructions);
}
}
}
我可以将影片剪辑Main显示出来,因为我已经在flash中的movieclip中添加了按钮,它们显示正常,光标变为手指点击图标: - )
我似乎无法解决的问题是如何获得带有类名的按钮:instructions_btn来添加屏幕:点击它时的说明。
可能很容易死,但是我把头发拉了出来!
答案 0 :(得分:0)
您对变量实例“说明”和“指令”类使用相同的名称。显然,这不起作用。坚持命名约定:类名的第一个字母应为大写,实例名称为小写:
var instructions:Instructions = new Instructions();
addChild (instructions);
此外,您在Main的构造函数中声明指令作为局部变量,但是尝试将它添加到事件处理程序中的阶段 - 当它不再可用时。如果希望变量存在于方法范围之外,请将其声明为成员:
public class Main extends MovieClip {
private var instructions:Instructions;
public function Main () {
instructions = new Instructions();
// ...
}
private function onPlayButtonClicked (ev:Event) : void {
addChild (instructions);
}
}