【发布时间】:2015-09-25 17:20:08
【问题描述】:
我现在正在尝试在播放器类中使用我的动画表,但我对我的情况有些怀疑。我正在关注文档 (https://github.com/libgdx/libgdx/wiki/2D-Animation),其中讨论了 2d 动画,但它只显示了一种类型的动画,在这种情况下,是步行动画。我的上下文不同,我有 3 种类型的动画:空闲、跑步和攀爬。我想知道是否可以将所有类型的动画保存在一个唯一的 Animation 对象中,或者我必须为每个对象创建 3 个对象?我也尝试在 stackoverflow 和 google 上找到相同的东西,但我什么也没找到。
这就是我对私有方法所做的loadAnimations():
private void loadAnimations() {
// Get the player animations sheet
Texture playerSheet = Assets.manager.get(Assets.playersheet);
// List of texture regions that hold the animations
TextureRegion[][] tmp = TextureRegion.split(playerSheet, playerSheet.getWidth() / PLAYER_FRAME_COLS, playerSheet.getHeight() / PLAYER_FRAME_ROWS);
// Put all textures from texture region to 1-d texture region
int index = 0;
TextureRegion[] walkFrames = new TextureRegion[PLAYER_FRAME_COLS * PLAYER_FRAME_ROWS];
for (int i = 0; i < PLAYER_FRAME_ROWS; i++) {
for (int j = 0; j < PLAYER_FRAME_COLS; j++) {
walkFrames[index++] = tmp[i][j];
}
}
this.runAnimation = new Animation(FRAMES_DURTION, walkFrames);
}
这是 Player proprietes:
private Animation idleAnimation, runAnimation, climbAnimation;
private TextureRegion currentFrame;
在这种情况下该怎么办?谢谢。
【问题讨论】: