我试着用身体的旋转旋转一个球的纹理,但我不知道我做错了什么。
下面是我绘制方法的代码
@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
sprite.setSize((Gdx.graphics.getWidth()/10), (Gdx.graphics.getWidth()/10));
sprite.setPosition(body.getPosition().x - sprite.getWidth()/2, body.getPosition().y -sprite.getHeight()/2);
sprite.setRotation(body.getAngle()* MathUtils.radiansToDegrees);
sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2);
sprite.draw(batch);
}
身体旋转,但纹理不旋转。
发布于 2014-12-17 13:24:11
你试试Sprite.rotate(YourRotation);
但是请记住,body.getAngle()
返回与初始位置有关的物体的旋转,我认为您必须调整以配合旋转。
例如,以frame和frame之间的body.getAngle()
为例,前一个框架的不同之处是,您将应用于sprite.rotate,所以当它为0时,使用一种或另一种方法可能取决于您将移动很长时间,还是只移动一次,或者我认为。希望能有所帮助,我已经解释得很好了。
编辑
现在,更好地阅读您的问题,sprite.setRotation(body.getAngle()* MathUtils.radiansToDegrees);
将不得不旋转,当您说不旋转,您意味着没有旋转任何东西,或旋转不好,可以检查您是否收到了您期望的数据。
https://stackoverflow.com/questions/27534928
复制相似问题