【问题标题】:set sprite to current animation texture将精灵设置为当前动画纹理
【发布时间】:2015-10-05 13:57:29
【问题描述】:

在我的游戏中,我有一些 box2d 实体,我在 render() 方法中使用以下代码添加精灵。

for (Body body : worldBodies) {
        if (body.getUserData() instanceof Sprite) {
            Sprite sprite = (Sprite) body.getUserData();

            Vector2 position = body.getPosition();
            sprite.setPosition(position.x - sprite.getWidth() / 2 , position.y - sprite.getHeight() / 2);
            sprite.setRotation(body.getAngle() * MathUtils.radiansToDegrees);
            sprite.draw(batch);
        }
    }

其中一个身体必须是动画的。

birdAnimation = new Animation(1, birdAtlas.getRegions());
birdAnimation.setPlayMode(Animation.PlayMode.LOOP_PINGPONG);

这是动画,现在我尝试将身体的精灵 obstacle6 从动画中设置为当前的纹理区域,取消这段代码:

obstacle6.setRegion(birdAnimation.getKeyFrame(delta));

不知何故,它只是显示了地图集的第一个纹理。我怎样才能让它改变?还是有其他方法可以为 box2d 身体设置动画? 如果您需要任何其他信息,请发表评论。

【问题讨论】:

    标签: animation libgdx box2d


    【解决方案1】:

    getKeyFrame 方法需要经过时间,而不是增量时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-10
      • 2014-01-21
      • 1970-01-01
      • 2018-08-20
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      相关资源
      最近更新 更多