AS3链接 - 加载另一个Swf文件

时间:2015-11-30 11:56:04

标签: actionscript-3 flash

我做了捕捉游戏,我有swf文件。在另一个flash项目中,我想打电话给那个swf。我创建了一个按钮并编写了下面的代码。

btnn.addEventListener(MouseEvent.CLICK, fl_ClickToLoadUnloadSWF_4);

import fl.display.ProLoader;
var fl_ProLoader_4:ProLoader;


var fl_ToLoad_4:Boolean = true;

function fl_ClickToLoadUnloadSWF_4(event:MouseEvent):void
{
    if(fl_ToLoad_4)
    {
        fl_ProLoader_4 = new ProLoader();
        fl_ProLoader_4.load(new URLRequest("CathingGame.swf"));
        addChild(fl_ProLoader_4);
    }
    else
    {
        fl_ProLoader_4.unload();
        removeChild(fl_ProLoader_4);
        fl_ProLoader_4 = null;
    }

    fl_ToLoad_4 = !fl_ToLoad_4;
}

但是当我点击按钮时,我有以下错误。可能的解决方案是什么?我想我有这个错误,因为在捕捉游戏中,我的fla和actionscript在不同的文件中。我的意思是我使用外部.as文件。不在fla文件中。

  

TypeError:错误#1009:无法访问null的属性或方法   对象参考。在CatchingGame()

1 个答案:

答案 0 :(得分:0)

您的加载代码很好,但异常源自null object reference代码,因此无法确定原因是什么。

但是,如果(正如我猜)你的游戏在没有预加载的情况下启动时工作正常stage在这种情况下最可能的原因是从游戏中过早访问ADDED_TO_STAGE属性。尝试将游戏启动逻辑移动到 public function MyGame() { if (stage) { init(); } else { addEventListener( Event.ADDED_TO_STAGE, onAddedToStage ); } } private function onAddedToStage( event:Event ):void { removeEventListener( Event.ADDED_TO_STAGE, onAddedToStage ); init(); } private function init():void { //place init logic here } 事件处理程序,如下例所示:

CatchingGame

如果我猜错了,请添加 <table class="table table-condensed"> <thead> <tr> <th>Firstname</th> <th>Lastname</th> <th>Email</th> <th>Status</th> <th>Date Registered</th> <th>Action</th> </tr> </thead> <tbody> <?php foreach($users as $key => $value) {?> <tr> <td><?php echo $value['firstname']; ?></td> <td><?php echo $value['lastname']; ?></td> <td><?php echo $value['email']; ?></td> <td><?php echo $value['status']; ?></td> <td><?php echo $value['datereg']; ?></td> <td> <a href="<?php echo site_url('main/showUser/'.$value['id']); ?>"> <i class="material-icons" title="Click to update">mode_edit</i></a> | <a href="" class="remove"><i class="material-icons" title="Click to remove"> delete</i></a> </td> </tr> <?php } ?> </tbody> </table> swf。

中的更多代码