如何在libGDX中切换和计时动画?

时间:2014-10-26 11:09:27

标签: java animation libgdx

我有这个球对象,我正试图玩。我为它创造了一个弹跳动画,当球击中表面时它会得到壁球(这是英语中的正确单词吗?)并在离开表面时反弹回圆形。 [问题1]由于创建动画的TextureRegions不同,当壁球部分的TextureRegions运行时,似乎球的大小增加。 [问题2]我应该如何计时,只有当球击中表面时,三个(TextureRegions)壁球部分才会运行?

P.S 我想把动画分成两个部分,当球击中表面然后离开时,它会是正确的解决方案吗?如果是这样,我应该怎么做才能使整个动画看起来正确?

感谢您的帮助。请不要指导我没有涉及我正在尝试做的具体细节的教程,也不要指导电话簿长度的文档,我可能会找到解决方案(好吧,至少可以肯定)它就在那里......)。

编辑:我用动画解决了问题,现在时机是唯一的问题。 这是动画的代码,也是我用来使它看起来好像是球反弹的代码:

TextureRegion[] ballJumpAnimation = {ballJump, ballJump2, ballJump3, ballJump4, ballump5, ballJump6, ballJump7};
ballJumpAni = new Animation(0.16f, ballJumpAnimation);
ballJumpAni.setPlayMode(Animation.PlayMode.LOOP_PINGPONG);

// The below code is in the ball's class
public void update(float delta) {
    velocity.add(acceleration.cpy().scl(delta));
    if (position.y >= 164) {
        velocity.y = -70;
        acceleration.y = 80;
    }
    position.add(velocity.cpy().scl(delta));

}

前三个TextureRegions是球接触表面时,另外四个是当它在空中时。 delta是浮点数,我从类的render方法获得工具屏幕。关于计算,数学上从来没有好过,想看看我是否可以进行跳跃计算。

0 个答案:

没有答案