java - 基于box2D body 角度旋转textureRegion(无 Sprite )

标签 java libgdx textures box2d spritebatch

我正在尝试使用 spriteBatcher 绘制方法,基于 box2d body 角度旋转纹理区域:

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

但是旋转结果如下所示

enter image description here 我不知道我做错了什么,尝试了很多不同的 originX、originY 组合,但它总是被破坏。尝试将原点设置为 body 中心、左下角,但没有成功。

查看了文档,分析了 SpriteBatch.class,但我不清楚原因是什么。

如何正确旋转纹理?

编辑:我不能使用Sprite类,因为正在绘制的textureRegion是一个动画帧,并且据我所知,你不能用Sprite类制作动画帧

最佳答案

像这样设置box2d主体的多边形形状

float width=x,height=y;

PolygonShape polygonShape=new PolygonShape();
polygonShape.setAsBox(width/2, height/2,new Vector2(width/2,height/2),0);

PolygonShape 的 setAsBox 方法被重载。

关于java - 基于box2D body 角度旋转textureRegion(无 Sprite ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41878700/

相关文章:

java - jsp文件与资源类的连接

java - Android 上的 SMB 服务器(非默认端口)

c++ - 使用单 channel 纹理(OpenGL 2)?

opengl - 对 glutSolidSphere 进行纹理化

java - 如何在Android上写好 "time limited features"?

java - Libgdx - didpose 一遍又一遍?

java - 你如何在没有教程的情况下学习框架

java - Libgdx GDXFacebook 发布权限

c - OpenGL 纹理初始化/渲染问题

java - 如何在 Spring JDBC ResultSetExtractor 中检查 ResultSet 是否为空?