android-如何获取libgdx中旋转对象的碰撞检测

android-如何获取libgdx中旋转对象的碰撞检测,第1张

概述我有一个要旋转的游戏对象.importcom.badlogic.gdx.Gdx;importcom.badlogic.gdx.graphics.g2d.SpriteBatch;importcom.badlogic.gdx.graphics.g2d.TextureRegion;publicclassObjectextendsAbstractGameObject{//AbstractGameObjectisaclasstoapplyphysicsont

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

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 objectprivate 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);}@OverrIDepublic 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(); //说的是边界

通过浮点旋转,对象将旋转.边界设置为固定点,并且边界没有旋转.我的问题是当我的角色触碰到这个物体时,它开始旋转.应该会发生什么.感谢你.

解决方法:

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

总结

以上是内存溢出为你收集整理的android-如何获取libgdx中旋转对象的碰撞检测全部内容,希望文章能够帮你解决android-如何获取libgdx中旋转对象的碰撞检测所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1077817.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存