gpt4 book ai didi

android - 如何在 libgdx 中获取旋转物体的碰撞检测

转载 作者:太空狗 更新时间:2023-10-29 12:40:51 26 4
gpt4 key购买 nike

我有一个要旋转的游戏对象。

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;

public class Object extends AbstractGameObject{// AbstractGameObject is a class to apply physics on the object
private TextureRegion object;
float rot;
public Object(){
init();
}
private void init() {
dimension.set(2f, 2f);
object = Assets.instance.object.object;//it just retrieves the texture region from assets class
// Set bounding box for collision detection
bounds.set(0,0, dimension.x, dimension.y);
}
@Override
public void render(SpriteBatch batch) {
TextureRegion reg = null;
final float degressPerSecond = 120.0f;
rot = (rot + Gdx.graphics.getDeltaTime() * degressPerSecond) % 360;
reg = object;

batch.draw(reg.getTexture(),
position.x, position.y,
origin.x, origin.y,
dimension.x, dimension.y,
scale.x, scale.y,
rot,
reg.getRegionX(), reg.getRegionY(),
reg.getRegionWidth(), reg.getRegionHeight(),
false, false);
}

}

Rectangle bounds = new Rectangle();//我指的是边界

通过 float rot 对象将旋转。由于边界设置为固定点并且边界没有旋转。我的问题是,当我的 charac 接触到这个物体时,它开始旋转。应该发生一些事情。谢谢你。

最佳答案

您可以从矩形创建多边形。然后,将旋转应用于多边形。要检查一个点是否在内部,只需使用 polygon.contains(x,y) 并检查它是否与其他多边形重叠,使用 Intersector 类。 http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/math/Intersector.html

关于android - 如何在 libgdx 中获取旋转物体的碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26325362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com