如何在 libGDX 中将图像用作 sprite?
How do I use an image as sprite in libGDX?
我用下面的代码在我的世界里画了一个圆圈。
现在我想用一张图片替换它,但我不知道该怎么做。
public void definePlayer() {
BodyDef bodyDef = new BodyDef();
bodyDef.position.set(32 / MyProject.PPM, 32/MyProject.PPM);
bodyDef.type = BodyDef.BodyType.DynamicBody;
body = world.createBody(bodyDef);
FixtureDef fixtureDef = new FixtureDef();
CircleShape shape = new CircleShape();
shape.setRadius(5 / MyProject.PPM);
fixtureDef.shape = shape;
body.createFixture(fixtureDef);
}
我关注了this tutorial series,我明白了很多,但这一集在我脑海中留下了问号。
您现在用来绘制物理对象的实际上是一个 调试 渲染器。它是一个让你物理模拟可见的工具。而且它不用于“实际”渲染。
物理模拟是,也应该和渲染分开
因此,为了使您的对象看起来像真实的东西,您必须使用与物理正方形相同的位置、旋转和比例来渲染图像(子画面)。
这样你的图像就会复制你的物理对象的运动,并会产生一个真实对象的错觉。
我高度建议您阅读official documentation,我认为这是了解libGDX的最佳场所。
另请查看 “SpriteBatch、TextureRegions 和 Sprites” 选项卡,您可以在其中阅读有关如何渲染内容的更多信息。
我用下面的代码在我的世界里画了一个圆圈。 现在我想用一张图片替换它,但我不知道该怎么做。
public void definePlayer() {
BodyDef bodyDef = new BodyDef();
bodyDef.position.set(32 / MyProject.PPM, 32/MyProject.PPM);
bodyDef.type = BodyDef.BodyType.DynamicBody;
body = world.createBody(bodyDef);
FixtureDef fixtureDef = new FixtureDef();
CircleShape shape = new CircleShape();
shape.setRadius(5 / MyProject.PPM);
fixtureDef.shape = shape;
body.createFixture(fixtureDef);
}
我关注了this tutorial series,我明白了很多,但这一集在我脑海中留下了问号。
您现在用来绘制物理对象的实际上是一个 调试 渲染器。它是一个让你物理模拟可见的工具。而且它不用于“实际”渲染。
物理模拟是,也应该和渲染分开
因此,为了使您的对象看起来像真实的东西,您必须使用与物理正方形相同的位置、旋转和比例来渲染图像(子画面)。 这样你的图像就会复制你的物理对象的运动,并会产生一个真实对象的错觉。
我高度建议您阅读official documentation,我认为这是了解libGDX的最佳场所。
另请查看 “SpriteBatch、TextureRegions 和 Sprites” 选项卡,您可以在其中阅读有关如何渲染内容的更多信息。