当我按下以前在 AIR 3.2 SDK 中工作的 flash/air 应用程序中的按钮时出现此错误 - 现在已升级到 AIR 3.5 SDK。非常感谢任何帮助。
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at seed_template_fla::MainTimeline/frame7()[seed_template_fla.MainTimeline::frame7:31]
at flash.display::MovieClip/gotoAndPlay()
at seed_template_fla::MainTimeline/gotoPage() [seed_template_fla.MainTimeline::frame1:20]
at seed_template_fla::MainTimeline/gotoRepro() [seed_template_fla.MainTimeline::frame1:12]
我正在使用 Mac 上的 Flash CS6 为 iPhone 创建一个应用程序,并使用 Air 3.5 SDK 导出。我还安装了 AIR 3.5 运行时。
该应用程序目前非常简单。当您使用 gotoAndPlay(frameNr) 函数按下按钮时,它基本上会逐帧移动。框架上有一些十六进制可以在单击时更新数字数组。它们也被切换为可见/不可见。
这曾经使用 AIR 3.2 SDK 完美地工作,但我最近从 adobe 下载了 AIR 3.5 SDK 并通过 flash 添加它(帮助>管理 Air SDK)并将其设置为文件>发布设置>目标中的构建目标。
当我切换回 AIR 3.2 SDK 时,该应用程序再次完美运行。
此外,当我使用 AIR 3.5 SDK 将应用程序上传到运行 IOS 5.1 的 iPhone 4S 时,我只看到一个黑屏,有 5 个加载点在闪烁。这也适用于 AIR 3.2 SDK。
这是第 7 帧的代码 最后一行是第 31 行。
stop();
techtitle.text = "Select Trait";
techdesc.text = "Spend points to change core stats and other special abilities";
points.visible = false;
techpoints.visible=false;
pointsbalance.text = myPoints.toString();
btn_tech.visible = false;
curTechSelected = null;
trace("set hexes invisible");
for (var j:int = 0; j <= 67; j++) {
if (hexStatusb[j] == 1) {
this["btn_hex_"+j+"b"].visible = false;
}
}
function onBtnHex37bClick(event:MouseEvent):void
{
techtitle.text = "tech1";
techdesc.text = "tech1 description"
techpoints.text = "-2";
points.visible = true;
techpoints.visible=true;
btn_tech.visible = true;
curTechSelected = btn_hex_37b;
curTechSelectedNr = 37;
curTechPoints = 2;
}
trace(this["btn_hex_37b"]);
btn_hex_37b.addEventListener(MouseEvent.CLICK, onBtnHex37bClick);