我有一个类负责动画的一些图像。我有3个玩家类,每个类都创建自己的这个动画类的实例。每个玩家类都向我的动画类发送一个String路径和一个String数组文件名。因此,我要做的是检查文件名的字符串数组是以向上,向下,向左还是向右开始。然后,我将它们添加到一组缓冲的图像中,总共4个,分别命名为上,下,左和右。字符串数组迭代和startsWith()
现在,当玩家想要向左移动时,左边的[]会生成动画,向上的方向也是如此。问题是每个数组中只有一个图像被存储。例如,缓冲图像的up []只能保持一个图像,而它们应该是3(每个方向有3个图像)。我无法弄清楚。
以下代码来自处理数组的Animation类。有人可以告诉我,我是否错过了一些东西?
如果本作绝对没有任何意义,我道歉:)...在我的头上
感谢
try
{
for (String file : fileName)
{
String path = PATH + file + EXT;
for (int i = 0; i < arrayLength; i++)
{
if (file.startsWith("u"))
{
up[i] = ImageIO.read(new File(path));
}
if(file.startsWith("d"))
{
down[i] = ImageIO.read(new File(path));
}
if (file.startsWith("l"))
{
left[i] = ImageIO.read(new File(path));
}
if (file.startsWith("r"))
{
right[i] = ImageIO.read(new File(path));
}
}
}
}
catch (IOException e)
{
System.out.println("Could not load images: " + e);
}
catch (ArrayIndexOutOfBoundsException e)
{
System.out.println("Array out of bounds: " + e);
}
是的,在netbeans通过dubugger后,我发现每个数组都被填充相同的图像。我想保持Animation类尽可能通用,以便传递给它的任何数组,上,下,左,右图像将被放入相应的数组中,并相应地进行动画处理。感谢回复,它的帮助很大。我想我知道如何处理这个现在:) – 2011-04-05 19:28:59