有没有办法从Adobe Air(flash)android应用更新到Unity3d应用,并保留共享对象中的本地保存?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法从Adobe Air(flash)android应用更新到Unity3d应用,并保留共享对象中的本地保存?相关的知识,希望对你有一定的参考价值。

情况是这样的。 我们有一个安卓游戏,已经发布了几年了,最初是用Unity3d开发的。动作3 并建有 Adobe空气...

现在,我们面临的问题是,由于ActionScript3基本上不受大多数广告和分析SDK的支持,我们需要更新到更新的东西,同时又不能失去现有的玩家群。所以我们开始开发一个当前游戏的克隆版,在 Unity3d也找到了一种方法来签署与旧的P12和播放商店控制台让我们上传和一切。

现在到了真正的问题。 最后也是目前我们要克服的障碍是找到一种方法来保存当前用户的保存游戏,当他们更新到Unity版本时。我们使用了一个 共享对象 来存储所有用户的偏好和进度。

我搜索了论坛,在SO和Unity3D论坛,没有发现有人问类似的问题。

但我们想知道是否有人知道另一个应用程序的方法。签字和包装物名称相同的 (基本上是AdobeAir应用程序的更新),以读取 共享对象 来自 AdobeAir 应用,并对其进行解析,这样就可以用它创建一个本地保存的 Unity3D (用PlayerPrefs或任何其他方法)。

我们用来保存和加载进度的代码是来自于 共享对象 是这样的。

    public function LoadVal(_id:String, _defaultValue:Object = null):Object
    {
        if (existSO(_id)) 
        {
            return loadSO(_id);
        }
        else {
            return _defaultValue;
        }
    }

    private function loadSO(id:String):Object
    {
        mySO = SharedObject.getLocal(nameSO);
        return mySO.data[id];
    }

    public function existSO(id:String):Boolean
    {
        mySO = SharedObject.getLocal(nameSO);
        return mySO.data[id] != null;
    }

    public function SaveVal(id:String,val:Object):void
    {
        mySO = SharedObject.getLocal(nameSO);
        mySO.data[id] = val;
        mySO.flush()
    }

    public function clearSO():void
    {
        mySO = SharedObject.getLocal(nameSO);
        mySO.clear();
    }

以上是关于有没有办法从Adobe Air(flash)android应用更新到Unity3d应用,并保留共享对象中的本地保存?的主要内容,如果未能解决你的问题,请参考以下文章

#error 1107使用Adobe Air在iPhone上运行Flash游戏时

Flash Builder、Adobe AIR 和 iOS 开发的包检查失败错误

Adobe Air - Flash - 初始窗口位置

Adobe AIR SDK 和 Flex SDK 的关系?

Adobe AIR 读取 Flash Player 的 .sol 文件

Adobe Air 与 Flash Player 10.1 运行时