如何以定义的速度连续旋转精灵?关于游戏编程的一般问题

时间:2017-02-18 17:31:01

标签: java android libgdx

我有一个渲染的图像:

public void render(float delta) {
    batch.begin();
    batch.draw(new Sprite(new Texture("img1.png"), 64, 64), x, y);
    batch.end()

其中x和y用于将精灵居中在屏幕中间,具体取决于屏幕的分辨率。

  1. 我知道我可以使用rotate(float degrees)来旋转它,但我该怎么做呢?我想我需要以某种方式使用增量时间,例如x += 50 * Gdx.graphics.getDeltaTime();,但这不会连续旋转它。图像显示为一帧,然后跳到其他地方一帧(看起来像是逐帧翻译)。

  2. 如果我希望(一个)精灵有多个碰撞检测(例如,每个彩色弧here的反应不同,可以在顶部覆盖一个与弧一起移动的不可见圆圈并使用数学在那个圆圈上解决了这个问题?没有为每个彩色圆弧设置一个单独的精灵。是否有更简单的方法来做到这一点?

  3. 对于游戏,是否可以不使用布局/ XML来设计关卡(即硬编码所有内容)?这会使应用程序兼容多种屏幕分辨率变得更加困难吗?

  4. 我是新手,所以我希望这些问题有意义。

1 个答案:

答案 0 :(得分:0)

以这种方式永远旋转你的精灵

\vspace*{10pt}