【问题标题】:360 degree movements animated sprite Java Game Libgdx360 度运动动画精灵 Java 游戏 Libgdx
【发布时间】:2014-07-10 12:54:27
【问题描述】:

大多数简单的精灵以 90 度的间隔向上、向下、向左、向右移动,通常为每个方向使用不同的精灵表。

但是我想创建一个跟随鼠标/手指输入的精灵(但不在手指上,稍微慢一点)并使用适当的相关度数在轴上旋转,所以它总是跟随/看着手指,我还想包括 1 个用于精灵移动的精灵表。有没有办法旋转精灵以获得所需的效果?

【问题讨论】:

标签: java android libgdx sprite


【解决方案1】:

如果您使用SpriteBatch 来渲染精灵,那么您只需将旋转参数传递给绘图函数:

draw(TextureRegion region, float x, float y, float originX, float originY, float width, float height, float scaleX, float scaleY, float rotation)

要实现围绕精灵中心的旋转,originXoriginY 应分别为精灵宽度和高度的一半。

【讨论】:

  • 如何从 isTouched 获得轮换以跟随玩家输入?
  • 你可以通过Input.getX()Input.getY()获得触摸位置,然后使用一些基本的三角函数来找到精灵和触摸位置之间的角度,见stackoverflow.com/questions/9970281/…
  • 想要旋转的东西是精灵,纹理的精灵批次不适用于精灵我该如何解决这个问题?
  • Sprite extends TextureRegion,所以上面的调用应该可以工作(它是 SpriteBatch 的方法)。或者,您可以使用 Sprite 的方法:sprite.setRotation(float degrees),然后是 sprite.draw(Batch spriteBatch)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-16
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 2020-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多