【问题标题】:When I click the Home button on the android I want it to save the frame AS3当我单击 android 上的 Home 按钮时,我希望它保存框架 AS3
【发布时间】:2017-05-22 11:52:07
【问题描述】:

这是为了我正在做的游戏 当我单击 android 上的 Home 按钮时,我希望它保存它所在的帧,而不是开始游戏加载它所在的位置

这导致游戏永远保存,但我只想保存一次,加载的代码不起作用

   import flash.net.SharedObject;

   stage.addEventListener(KeyboardEvent.KEY_DOWN, buttonPressed); 
   var stateSO:SharedObject = SharedObject.getLocal("saveState");
   if (stateSO.size > 0 && stateSO.data.lastFrame && stateSO.data.lastFrame != undefined) {
  //the shared object exists and has a valid value, so lets skip to that frame
 gotoAndPlay(stateSO.data.lastFrame);
 trace("Load Here.");
 }


 function buttonPressed(event:KeyboardEvent):void{  
 if (event.keyCode == Keyboard.MENU){

 //this function runs every frame 
 function saveState(Event){       
 stateSO.flush(); //save the cookie (shared object)
 trace("Save Here.");
 return;
 }

 addEventListener(Event.ENTER_FRAME, saveState);

 stage.removeEventListener(KeyboardEvent.KEY_DOWN, buttonPressed);
 } 

 }

感谢帮助

【问题讨论】:

    标签: android actionscript-3


    【解决方案1】:

    在您的按键事件处理程序(和其他地方)中有不必要的代码,而您永远不会真正编写要保存的值。此外,始终格式化您的代码,因为仅仅因为您无法清楚地阅读您的代码实际在做什么,就会发生很多错误。

    import flash.net.SharedObject;
    
    var stateSO:SharedObject;
    
    // I guess this is a frame script, lets run it
    // only once to avoid the possible mess.
    
    if (!stateSO)
    {
        stage.addEventListener(KeyboardEvent.KEY_DOWN, buttonPressed);
    
        stateSO = SharedObject.getLocal("saveState");
    
        if (stateSO.data.lastFrame != undefined)
        {
            trace("Load Here.");
            gotoAndPlay(stateSO.data.lastFrame);
        }
    }
    
    function buttonPressed(e:KeyboardEvent):void
    {
        // I hope you know what this button is.
        if (e.keyCode == Keyboard.MENU)
        {
            saveState();
        }
    }
    
    function saveState():void
    {
        // Write current frame to the SharedObject.
        stateSO.data.lastFrame = currentFrame;
        stateSO.flush();
        trace("Save Here.");
    }
    

    【讨论】:

    猜你喜欢
    • 2017-04-28
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 2016-08-10
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多