2014-02-21 35 views
1

我正在尝试为Android开发,使用Lua和Corona模拟器。 Android接受的最大图片尺寸为2048x2048像素。我目前有一个148像素高和4690像素宽的图像片。该工作表由一行35个图像组成。有没有一种方法可以将这张图片分成多行框架,并且仍然使用这里列出的简单动画方法(http://docs.coronalabs.com/api/library/graphics/newImageSheet.html)而不是复杂的方法,还是我真的必须单独声明每个帧?图片过宽时该怎么办?

我试图将图像向下缩放到1995像素的宽度,然后将其缩放回到程序内部,但是这显然导致了可怕的分辨率。我也尝试过(虽然这是与另一个图像提出了相同的问题)将图像分成两行,所以它是两倍高,一半宽,但我无法得到这个与科罗纳的简单方法一起工作我上面提到过。 Complex方法看起来像是最后的手段,因为它是大量的工作和代码,分别用x,y,width和height声明图像表中的每个帧。

+0

是你的图像4690 x 4690?你有什么尝试? – Schollii

+0

您可以即时生成复杂方法的“选项”表。 –

+0

@Schollii图像高148像素,宽4690。每个框架148高134宽。我会用我尝试过的更新这个问题。 – Ravn

回答

1

该序列从左到右,从上到下导航您的纹理图像。因此,使用5x7的子图像网格(5行7列,而不是1行35列),按此方式排序。您的图像将是740 x 938.

或者,您可以有多个图像工作表和switch between them as required

+0

第一种解决方案的问题在于程序不会自动切换到下一行,我不知道如何使其完成。如果我按照你的建议做了,它会在尝试到达第8帧时抛出错误。 – Ravn

+0

至于第二个建议,我曾考虑过这样做,但我确实更喜欢简单的解决方案。无论如何,我绝对讨厌和定时器一起工作,所以如果确实如此,我可能会采用复杂的方法。 – Ravn

+0

这两种解决方案都没有计时器。也许如果你展示了一些代码,我可以让答案更有帮助。此外,该程序会自动切换到下一行,我在发布之前确认了这一点。 – Schollii