java - LibGdx RayCast box2d 调试(屏幕上可见)

标签 java android libgdx raycasting

有人可以帮助我吗?

我想在游戏屏幕上看到光线转换(用于调试……)。

实现该目标的最佳方法是什么? 请注意,我使用“box2d”。我把东西画到屏幕上的方式是用动画.. 那么这是否意味着我需要创建一个“EdgeShape”?然后这是我的调试行?

如果您可以提供任何建议或我真的不介意如何实现的想法,我想要的只是一种查看 Raycast 的正确方法。 我找不到绘制 Raycast 的好方法,我看到有人使用 batch.draw(); - 但我想它对我不起作用,因为那样我的游戏作品就是使用 box2ds 形状和动画?是吗?

非常感谢!

   world.rayCast(callback,     enemy.getBody().getPosition(), 
            new Vector2(enemy.getBody().getPosition().x-500, enemy.getBody().getPosition().y));
   }

   RayCastCallback callback = new RayCastCallback() {
      @Override
      public float reportRayFixture(Fixture fixture, Vector2 point,
            Vector2 normal, float fraction) {

         if(fixture.getBody().getUserData() == ModelType.PLAYER) {
            System.out.println("hey!");
            return 0;
         }
         return -1;
      }

最佳答案

我现在用 ShapeRenderer 调试它:

shapeRenderer.setProjectionMatrix(batch.getProjectionMatrix());
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.line(rayStart,rayEnd);
shapeRenderer.setColor(Color.RED);
shapeRenderer.end();

我只是将它添加到我的敌人所在的同一个类。

我还负责处理点(Vector2):

world.rayCast(rayCastCallback, p1, p2);

随着我的敌人的移动而更新。

关于java - LibGdx RayCast box2d 调试(屏幕上可见),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41301323/

相关文章:

java - 解析日期以在 JPQL 查询中进行比较

java - @ResponseBody 意外格式

android - 我可以将 Android View 覆盖在 libgdx GL 表面之上吗?

java - 安卓 LibGDX : Cannot Load Image Dependancies

java - 堆栈实现空指针异常

java - 添加/代替 SSL 的 SSO

Android 4.0 模拟器上的内置动画

android - 如何将数据从适配器发送到 Android 中的 Activity

android - 如何从 Gradle Dependency 中找到库的版本?安卓工作室

java - 矩形性能