AS3 加载程序在游戏重置后不卸载



在过去的几年中,您一直对我有很大的帮助。我总是可以找到解决我的编程问题的解决方案。但是,这次我找不到解决方案。尽管有一些主题讨论装载机。我的有很大的不同。

问题:在第一个游戏屏幕中,我加载了电影(转换为.swf的电影)。然后切换到下一个状态后,它卸载并且不再显示。在游戏结束时,我执行了自己的重置功能(这没什么可做的使用装载机,它只需重置一些静态变量)和游戏切换到第一个状态。

加载程序再次出现。但是现在,当我切换状态时,加载程序仍在显示。

注意:我正在使用Flixel库。尽管我认为在这种情况下它没有很大的不同(尽管我认为它仍然存在问题,因为我仍然有问题:P)。

我只放置了重要的代码。我有三个按钮。假设我推。第三个按钮。在开关情况下,我输入案例2。

重置函数是flixel函数:flxg.resetgame(),但我认为它不是真的物质。

我希望这足以让某人看到问题/解决方案。预先感谢。

这是代码:

AMCInlog.as
private var my_loader:Loader;
private var my_player:Object;
    public function AMCInlog() 
    {
        imgBackground = new FlxSprite(0, 0, Resources.imgStartMenuBackground);
        add(imgBackground);
        my_loader = new Loader();
        my_loader.x = 40;
        my_loader.y = 156;          
        my_loader.scaleX = 1.2;
        my_loader.scaleY = 1.2;
        //loadUserData();
        moviePlayerSequence();
        //userData.clear();
        //createButtons();  
    }
    private function moviePlayerSequence():void {
        var request:URLRequest = new URLRequest("DGAME Movie.swf");
        my_loader.load(request);
        FlxG.stage.addChild(my_loader);
    }
    private function currentButtonFunction():void {
        switch(currentButton) {
            case 0:
                my_loader.unloadAndStop();
                FlxG.stage.removeChild(my_loader);
                FlxG.switchState(new AMCRegister());
                break;
            case 1:
                my_loader.unloadAndStop();
                FlxG.stage.removeChild(my_loader);
                FlxG.switchState(new AMCExistingAccountLogin());
                break;
            case 2:
                my_loader.unloadAndStop();
                FlxG.stage.removeChild(my_loader);
                FlxG.switchState(new AMCPreferences());
                break;
            default:
                break;
        }
    }   

您永远不会重置加载程序,因此它只能在上次加载到加载器上,要么只是尝试重置(或实际上重新定位)您的加载程序(不是最好的方法)(不是最好的方法(将进入Flash垃圾收集,这从来都不是太棒了),但是,嘿,它有效)

my_loader = new Loader();

或(既然我看不到)尝试使用简单的Unload();而不是unloadAndStop();(因为好吧,您不需要停止它,如果正确卸载它,它还是消失了)

祝你好运!

最新更新