将精灵设置为当前动画纹理
set sprite to current animation texture
在我的游戏中,我有一些 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);
这是动画,现在我尝试将 body 的 sprite obstacle6
设置为 Animation 中的当前 textureRegion,取消使用此代码:
obstacle6.setRegion(birdAnimation.getKeyFrame(delta));
不知何故它只显示了图集的第一个纹理。我怎样才能改变它?还是有其他方法可以为 box2d body 设置动画?
如果您需要任何其他信息,请发表评论。
getKeyFrame
方法需要经过时间,而不是增量时间。
在我的游戏中,我有一些 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);
这是动画,现在我尝试将 body 的 sprite obstacle6
设置为 Animation 中的当前 textureRegion,取消使用此代码:
obstacle6.setRegion(birdAnimation.getKeyFrame(delta));
不知何故它只显示了图集的第一个纹理。我怎样才能改变它?还是有其他方法可以为 box2d body 设置动画? 如果您需要任何其他信息,请发表评论。
getKeyFrame
方法需要经过时间,而不是增量时间。