如何在LibGdx

时间:2015-06-16 14:02:25

标签: java libgdx

我是游戏开发的新手,我试图在libGDX中拆分图像,但遇到了问题。

这是我要拆分的图片: enter image description here

这是我的代码:

textureZ60=new Texture(Gdx.files.internal("data/z63.png"));
TextureRegion[][] tmp = new TextureRegion(textureZ60).split(
    textureZ60.getWidth() / column,
    textureZ60.getHeight() / row);

allFramesZ0 = new TextureRegion[column*row];

int index=0;
for (int i=0; i<row; i++) {
    for (int j=column-1; j>=0; j--) {
        allFramesZ0[index++]=tmp[i][j];
    }
}
animationZ0 = new Animation(0.25f, allFramesZ0);

我的问题是,如果我使数组降序,则返回6 TextureRegion

  • 0-Orange
  • 1-黑色
  • 2 - 红色
  • 3 - 红色
  • 4-红色
  • 5 - 红色

如果我使数组升序,则返回6 TextureRegion

  • 0 - 红色
  • 1 - 绿色
  • 2-Orange
  • 3-Orange
  • 4-橙
  • 5-Orange

我尝试了一切,但它没有返回所有6个不同的图像。为什么它重复红色或橙色,我怎样才能获得所有6种不同的图像?

请帮我解决这个问题。感谢。

1 个答案:

答案 0 :(得分:2)

我检查过&amp;调试它,它正在创建6个不同的TextureRegion与正确的数据。似乎你的问题与动画有某种关系 - 也许你正在使用的帧速率是错误的或者某种东西。 你是怎么玩动画的?是重复自己还是只重复一次? 从你描述的内容看来,它向前跳3帧,最后在最后一帧停止。请注意,橙色到黑色和红色到绿色都有3帧。 如果您只是尝试一次,也许您应该尝试重复播放以首先验证所有加载的帧(但它可能以错误的顺序播放:red-&gt; green-&gt; purpole-&gt; red-&gt; .. )。如果你再添加一个框架它也不会重复,而且你可能会看到所有的颜色。