当前位置: 首页 > 知识库问答 >
问题:

如何在Box2d中获得身体上的触摸事件(Java)

常永怡
2023-03-14

在libGDX中的Box2d的帮助下,我让各种身体以一定角度旋转。我想要的是当我点击身体时破坏它,但问题是我无法获得身体的区域定义,这样我就可以检查我的接触点是否位于身体内部。我试过使用actor及其hit()方法,但只有在我不旋转它的情况下,它才会起作用。据我所知,一旦我旋转了身体,它的边界就不会旋转。那么,我们如何检查身体中的触摸事件呢。提前谢谢。

共有1个答案

冉锋
2023-03-14

请参阅libgdx Box2DTest中的TouchDown处理程序。他们使用World. QueryAABB(AABB是"Axis-对齐边界框")来查询哪些对象与触摸点周围的小边界框相交,然后使用查询回调来验证实际触摸点与所讨论的对象相交。

 类似资料:
  • 触摸操作概述 浏览器的触摸 API 由三个部分组成。 Touch:一个触摸点 TouchList:多个触摸点的集合 TouchEvent:触摸引发的事件实例 Touch接口的实例对象用来表示触摸点(一根手指或者一根触摸笔),包括位置、大小、形状、压力、目标元素等属性。有时,触摸动作由多个触摸点(多根手指)组成,多个触摸点的集合由TouchList接口的实例对象表示。TouchEvent接口的实例对

  • 我在屏幕上有一个玩家box 2d对象,应该由两个按钮控制,一个左,一个右。当你按下右按钮时,玩家应该向右移动,但是当你按下左按钮时,玩家应该立即停止向右移动,向左移动。反之亦然。我试着这样做向右移动,b2Vec2脉冲(4,0);身体- 这是向左移动的b2Vec2脉冲(4,0);身体- 这是可行的,但当我先按右键再按左键时,玩家不会立即向左移动,而是继续向右移动一段时间,然后向左移动。我如何确保这不

  • 我想再写一个像Flappy Bird这样的游戏。所以,我有一个身体,与鸟,并设置他的位置在开始在屏幕中部与精灵在上面。现在当用户点击屏幕时,我想把鸟向上移动。但我怎样才能做到呢?身体setTransform(向量、角度)不是我想要的。你能帮我解决这个问题吗?

  • 我用libgdx来创建我的游戏,我用box2d作为物理引擎,我有一个多边形形状设置为box.5x的身体。5(1x1米),我想绕着它的中心旋转。我试着这么做: 我不确定,但我认为Vector2是用来设置形状的原点的,所以原点是0.50x0.50的一半,所以这意味着它在中心,但它仍然不起作用,这意味着我的代码或我对如何设置原点的理解有问题。

  • 触摸事件是手机游戏中最重要的事件,它易于创建,还能提供多种多样的功能。 让我们先了解一下什么是触摸事件,当你触摸移动设备的屏幕时,设备感受到被触摸,了解到被触摸的位置,同时取得触摸到的内容,然后你的触摸被回答。 这就是触摸事件。 如果你希望通过触摸控制屏幕下层的对象,那可以通过 优先级,达成这种需求,优先级高的对象能先处理事件。 创建触摸事件监听器: // Create a "one by on

  • 问题内容: 好吧,所以我有4个图像视图。 当他们按下和向上时,我如何控制会发生什么 因此说: 其中一张图像被按下,textview变为1,但是当它们放开时,文本将变为0? 问题答案: 您需要使用OnTouchListener并让它在您的上监听。 例如: 这是一个看起来像的例子: