我正在使用 Surfaceview 编写游戏,并且有一个关于将数据保存到 Bundle 中的问题。
最初,我有一个数组列表,它存储只会上下移动的精灵的 Y 坐标(以整数的形式)。声明为:
static ArrayList<Integer> ycoordinates = new ArrayList<Integer>();
我使用以下方法将它们保存到一个 Bundle 中:
myBundle.putIntegerArrayList("myycoordinates", ycoordinates);
并使用以下方法恢复它们:
ycoordinates.addAll(savedState.getIntegerArrayList("ycoordinates"));
这一切都很完美。但是,我不得不更改整个坐标系,使其基于 Delta 时间,以允许我的精灵在不同屏幕上以均匀的速度移动。这又是完美的工作。
但是,由于这种更改,我现在必须将这些值存储为浮点数而不是整数。
所以,我声明为:
static ArrayList<Float> ycoordinates = new ArrayList<Float>();
这就是背景,现在我的问题是,如何存储和恢复浮点数组列表中的值?似乎没有“putFloatArrayList”或“getFloatArrayList”。
(我使用了 Arraylist 而不是 Array,因为精灵的数量需要是动态的)。
任何帮助,将不胜感激。
非常感谢