使用首选项保存纹理
Saving texture with Preferences
所以我想要实现的是:当用户购买新项目(纹理)时,他们可以单击一个按钮以用新项目(纹理)替换旧项目(纹理)。
我首先想到的是 Objectmaps。所以我创建了这个:
ObjectMap<Integer, Texture> screenMap = new ObjectMap<Integer, Texture>();
我目前只使用两个项目来掌握它:
screenMap.put(prefs.getInteger("stoneOne", 0), sdStone);
screenMap.put(prefs.getInteger("stoneTwo", 1), stone_3);
这是我用来改变纹理的方法:
public void setStone1() {
stoneImage = new Image(screenMap.get(0));
}
public void setStone(int screenId) {
stoneImage = new Image(screenMap.get(screenId));
}
现在到我能弄清楚的部分:
Preferences prefs = Gdx.app.getPreferences("preferences");
prefs.putString("textField", textField.getText());
prefs.putString("textArea", textArea.getText());
prefs.getInteger("stone", );
prefs.putInteger("stone", );
prefs.flush();
我不知道该放什么整数,如你所见,我什至现在就把它漏掉了。我尝试了 screenId 整数,但它无法访问,因为它处于空白状态? P.S 别介意我为事物取的奇怪名字。我从一个旧项目中获取了一些代码。
换条路试试
- Save Texture to sdcard。
- 将文件路径保存到首选项中。
Preferences prefs = Gdx.app.getPreferences("preferences");
prefs.putString("texture_one_path", "/sdcard/tex1.jpeg");
prefs.putString("texture_two_path", "/sdcard/tex2.jpeg");
谢尔盖说得对。纹理又重又大,您可能会拥有大量的纹理。那是针对 SD 卡的。
首选项是用于移动设备的轻量级安全配置文件。它们通常也是加密的,因此访问它们总是需要成本的。它们通常用于用户设置、登录信息等。首选项的 Android 外推称为 SharedPreferences。这是文档:http://developer.android.com/reference/android/content/SharedPreferences.html
"SharedPreferences" 的 iOS 概念称为 NSUserDefaults,这是它的页面:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/index.html
底线:您不应该在首选项中保存太多信息。将它用于字符串、全局值、用户设置(音量级别、用户凭据、关闭 gore 等)。对于大型字符串数据,请使用 raws。对于大型媒体,请使用 SD 卡。
希望对您有所帮助。
所以我想要实现的是:当用户购买新项目(纹理)时,他们可以单击一个按钮以用新项目(纹理)替换旧项目(纹理)。 我首先想到的是 Objectmaps。所以我创建了这个:
ObjectMap<Integer, Texture> screenMap = new ObjectMap<Integer, Texture>();
我目前只使用两个项目来掌握它:
screenMap.put(prefs.getInteger("stoneOne", 0), sdStone);
screenMap.put(prefs.getInteger("stoneTwo", 1), stone_3);
这是我用来改变纹理的方法:
public void setStone1() {
stoneImage = new Image(screenMap.get(0));
}
public void setStone(int screenId) {
stoneImage = new Image(screenMap.get(screenId));
}
现在到我能弄清楚的部分:
Preferences prefs = Gdx.app.getPreferences("preferences");
prefs.putString("textField", textField.getText());
prefs.putString("textArea", textArea.getText());
prefs.getInteger("stone", );
prefs.putInteger("stone", );
prefs.flush();
我不知道该放什么整数,如你所见,我什至现在就把它漏掉了。我尝试了 screenId 整数,但它无法访问,因为它处于空白状态? P.S 别介意我为事物取的奇怪名字。我从一个旧项目中获取了一些代码。
换条路试试
- Save Texture to sdcard。
- 将文件路径保存到首选项中。
Preferences prefs = Gdx.app.getPreferences("preferences");
prefs.putString("texture_one_path", "/sdcard/tex1.jpeg");
prefs.putString("texture_two_path", "/sdcard/tex2.jpeg");
谢尔盖说得对。纹理又重又大,您可能会拥有大量的纹理。那是针对 SD 卡的。
首选项是用于移动设备的轻量级安全配置文件。它们通常也是加密的,因此访问它们总是需要成本的。它们通常用于用户设置、登录信息等。首选项的 Android 外推称为 SharedPreferences。这是文档:http://developer.android.com/reference/android/content/SharedPreferences.html
"SharedPreferences" 的 iOS 概念称为 NSUserDefaults,这是它的页面:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/index.html
底线:您不应该在首选项中保存太多信息。将它用于字符串、全局值、用户设置(音量级别、用户凭据、关闭 gore 等)。对于大型字符串数据,请使用 raws。对于大型媒体,请使用 SD 卡。
希望对您有所帮助。