【发布时间】:2012-11-14 06:08:36
【问题描述】:
我正在使用 ActionScript 3 制作游戏。我有一个菜单类,其中包含一个呈现菜单的方法。 我在 Main 类中创建了一个 Menu 实例,然后调用该方法。当我调试应用程序时,我得到一个空引用错误。这是菜单类的代码:
package
{
import flash.display.MovieClip;
import menucomponents.*;
public class Menu extends MovieClip
{
public function Menu()
{
super();
}
public function initMenuComponents():void{
var arrMenuButtons:Array = new Array();
var btnPlay:MovieClip = new Play();
var btnOptions:MovieClip = new Options();
var btnLikeOnFacebbook:MovieClip = new LikeOnFacebook();
var btnShareOnFacebook:MovieClip = new ShareOnFacebook()
arrMenuButtons.push(btnPlay);
arrMenuButtons.push(btnOptions);
arrMenuButtons.push(btnLikeOnFacebbook);
arrMenuButtons.push(btnShareOnFacebook);
var i:int = 0;
for each(var item in arrMenuButtons){
item.x = (stage.stageWidth / 2) - (item.width / 2);
item.y = 100 + i*50;
item.buttonMode = true;
i++;
}
}
}
}
提前致谢。
【问题讨论】:
-
使用调试器看看发生了什么,如果手边没有调试器,可以尝试至少保留一个日志
-
@SamIam 我在尝试向舞台添加项目的行中收到错误消息。这是否意味着舞台为空或我的项目为空?抱歉,如果这是一个愚蠢的问题,我在大学时从未正确学习过调试。
-
@SylvainVansteelandt 那是哪一行?
-
@SamIam 对不起,发布此内容后,我尝试在每个语句的开头添加:stage.addChild(item);但问题依然存在,它始终是 for each 循环的第一行。
标签: actionscript-3 reference null