如何在 as3 上自动保存我的首选项?
How do I automatically save my preferences on as3?
如何使用 actionScrpt3 中的按钮自动保存游戏和加载游戏?
我正在开发一款游戏,我想在可以自动保存游戏时离开游戏,当我再次启动游戏时,主菜单中会出现一个按钮,它会在保存游戏的位置加载游戏
谢谢
最简单的方法是通过特定操作将文件保存到应用程序存储目录(例如单击保存按钮,或在特定时间段后等)。
根据您的需要,您可以选择保存简单的文本文件、XML 文件甚至 JSON 文件,以适合您的需要为准。只需将您的数据插入文件并将其保存到应用程序存储目录即可。
以下是将一个简单的文本文件保存到应用程序存储目录的代码:
var dataToSave:String = "Some data to be saved.....";
var file:File = File.applicationStorageDirectory.resolvePath("savedUserInfo.txt");
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTFBytes(dataToSave);
stream.close();
你可以把上面的代码放在一个方法里面,当你想保存数据的时候调用。
每次在应用程序启动时,您都可以检查文件是否存在并加载数据,并根据 resume/restore 游戏状态执行您的操作。
这是加载文件的代码:
var file:File = File.applicationStorageDirectory.resolvePath("savedUserInfo.txt");
if(file.exists){
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);
var data:String = stream.readUTF();
stream.close();
//perform your operations to restore/resume game state
}else{
//there was no saved game file. Resume normal game bootup.
}
正如我所说,这可能是将文件保存到应用程序存储目录的最简单方法。根据您的需要,您可能希望选择对代码更友好的格式,如 JSON 或 XML 来保存和加载数据。当然,根据您决定的格式,会有一些代码更改。
此外,请确保您设置了写入文件的权限。为此,您需要在应用程序描述符中添加以下内容,尤其是 "WRITE_EXTERNAL_STORAGE" 行。
<android>
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>
]]></manifestAdditions>
</android>
希望这对您有所帮助。干杯。
如何使用 actionScrpt3 中的按钮自动保存游戏和加载游戏?
我正在开发一款游戏,我想在可以自动保存游戏时离开游戏,当我再次启动游戏时,主菜单中会出现一个按钮,它会在保存游戏的位置加载游戏
谢谢
最简单的方法是通过特定操作将文件保存到应用程序存储目录(例如单击保存按钮,或在特定时间段后等)。
根据您的需要,您可以选择保存简单的文本文件、XML 文件甚至 JSON 文件,以适合您的需要为准。只需将您的数据插入文件并将其保存到应用程序存储目录即可。
以下是将一个简单的文本文件保存到应用程序存储目录的代码:
var dataToSave:String = "Some data to be saved.....";
var file:File = File.applicationStorageDirectory.resolvePath("savedUserInfo.txt");
var stream:FileStream = new FileStream();
stream.open(file, FileMode.WRITE);
stream.writeUTFBytes(dataToSave);
stream.close();
你可以把上面的代码放在一个方法里面,当你想保存数据的时候调用。
每次在应用程序启动时,您都可以检查文件是否存在并加载数据,并根据 resume/restore 游戏状态执行您的操作。
这是加载文件的代码:
var file:File = File.applicationStorageDirectory.resolvePath("savedUserInfo.txt");
if(file.exists){
var stream:FileStream = new FileStream();
stream.open(file, FileMode.READ);
var data:String = stream.readUTF();
stream.close();
//perform your operations to restore/resume game state
}else{
//there was no saved game file. Resume normal game bootup.
}
正如我所说,这可能是将文件保存到应用程序存储目录的最简单方法。根据您的需要,您可能希望选择对代码更友好的格式,如 JSON 或 XML 来保存和加载数据。当然,根据您决定的格式,会有一些代码更改。
此外,请确保您设置了写入文件的权限。为此,您需要在应用程序描述符中添加以下内容,尤其是 "WRITE_EXTERNAL_STORAGE" 行。
<android>
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>
]]></manifestAdditions>
</android>
希望这对您有所帮助。干杯。