问题标签 [hittest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
126 浏览

arrays - 命中测试工作正常,但将值设置为同一对象会导致错误?

我正在射击一些子弹,碰撞测试工作得非常好,甚至伤害了僵尸。除了一个问题,我希望子弹在击中僵尸时消失,这听起来很容易我已经在“bulletContainer”类中进行了测试,长话短说我称之为bulletContain[a].killBullet(); 并且输出对话框说它不是一个函数(我知道事实上它是一个函数并且它自己正在正确加载的“bulletClass”类)。似乎一旦我创建子弹射击它就有自己的想法并且不听我在里面改变的任何变量让我告诉它需要消失/killBullet()

Heres我的代码片段,如果你觉得你需要更多请评论(虽然没有太多)

BulletClass(显示来自 bulletClass 的所有内容):(忽略 REDENDENT SWITCH() 代码,供以后开发使用)

0 投票
1 回答
239 浏览

iphone - 是否有用于 CALayer 命中测试的 MouseChildren?

嘿。我有一个包含 4 个圆圈图层的主图层,每个圆圈内都有一个文本图层:

主层->(4)圆形层->(1)textLayer。

我正在主层上执行命中测试,我想接收被点击的圆圈。它工作正常,但是当我点击文本区域时,我会返回文本层而不是圆形层。

在 AS3 中,您有

如何在目标 c 中获得此功能?

谢谢

沙尼

0 投票
1 回答
5540 浏览

javascript - 有一个高效的 jQuery Hittest 吗?

我正在使用 HTML、CSS 和 JavaScript (jQuery) 创建一个简单的游戏。有一艘主船,所有的粒子(子弹)都来自这里。它们每个都只是 div。然后,敌人的 div 随机分布在屏幕上。

我正在寻找一种有效的方法来测试每个粒子是否击中特定的敌人。我有一些东西开始工作得很好,但很快就陷入了困境。我是 js 新手,所以我的代码非常混乱,并且在许多其他方面可能效率低下。任何建议将不胜感激!

这是我创建敌人和测试击中的部分:

让这样的东西在浏览器中顺利运行是否现实?我的代码是否只需要一些更改?您可能需要更多上下文,因此:

编辑 2012 年 1 月 12 日: 游戏链接已删除//不相关

注意:目前这在 Chrome 和 Safari 中效果最好。

编辑 2011 年 3 月 22 日: 将敌人的 fadeOut() 更改为 hide(),以便您可以准确地看到敌人何时消失(有时会延迟)。hitTest 似乎仅在您单击实际敌人时触发,因此如果它通过,则不会触发它。另外,我忘记在 hitTest 上清除Interval。这似乎极大地提高了性能,但仍然不完全存在。

0 投票
1 回答
702 浏览

c# - Xna 我应该在武器类中创建子弹吗

我有我的gameplay.cs,它产生了基本上包括子弹在内的所有东西。

游戏玩法需要使用子弹来检测地形或其他角色。

我宁愿在武器类而不是游戏类中实例化子弹。

但这意味着我无法跟踪我的子弹来做最热门的......

这里需要一些指导,希望我成为 C# 和 xna 的菜鸟。

0 投票
3 回答
2085 浏览

opengl - 从 2D 投影映射回 3D 点云

我有一个由点顶点 (XYZ) 和最终三角形面组成的 3D 模型。使用 OpenGL 或 camera-view-matrix-projection 我可以将 3D 模型投影到 2D 平面,即视图窗口或具有 m*n 分辨率的图像。

问题是如何确定 2D 投影计划中的像素与其原始 3D 模型中相应的顶点(或面)之间的对应关系。

即,
对于 2D 投影中的给定像素,3D 模型中最接近的顶点是什么?
这听起来像是选择 openGL 或光线追踪问题。但是有没有简单的解决方案?

使用光线追踪的想法,它实际上是关于从一个视点找到与光线相交的第一个顶点/面。有人可以给我看一些教程或例子吗?我想找到一种独立于使用 OpenGL 的算法。

0 投票
2 回答
5982 浏览

flash - AS3:HitTest 任何对象

我正在开发一个图像作为光标的应用程序。现在我想随时知道光标悬停在哪个对象上。有点像 HitTestObject(*),然后我可以看到 * 代表什么对象。有谁知道我怎么能做到这一点?(并且不能使用鼠标)

0 投票
2 回答
1896 浏览

delphi - Hittest 在世界坐标中使用 SVG 图像中的屏幕坐标

如何使用 GDI+ 将鼠标坐标转换为世界坐标?或者为使用 GDI+ 绘制的 SVG 形状获取边界框(甚至更好的)旧 skool 区域?

反正。我一直在寻找 SVG 代码并发现: http:
//development.mwcs.de/svgimage.html
这是第一个真正适用于 SVG 的 Delphi 组件,但我离题了。

该组件使用 GDI+ 来显示圆、曲线等
。GDI+ 使用矩阵将世界坐标、旋转和扭曲转换为屏幕坐标。
这部分我明白了。您使用矩阵乘法来进行翻译。

问题是
如果我将鼠标光标指向一个封闭的形状:

  1. 我从哪里得到矩阵,它将我的鼠标屏幕点转换为一个世界点,我可以在屏幕上看到绘制的圆圈中进行测试?
    在所有这些 GDI 对象中有很多矩阵可供选择。
  2. 不要给我关于绘制位图和在光标下测试魔术颜色的内容,这不是我想要的。
  3. 如果有一系列矩阵,我如何以正确的(反转?)顺序遍历它们,以便我的屏幕坐标被正确引导到世界坐标?

换句话说
,从 SVG 图像中读取的形状是被矩阵扭曲为屏幕坐标的图元。如何从屏幕坐标反转到可以用来查看我是否在形状内的坐标。

请注意 我需要知道我所处的形状。
由于 SVG 图像的设置方式,每个形状都有一个 id,我想用它来查看我用鼠标点击的区域。

编辑

或者

  1. 我可以在屏幕坐标中获得每个形状的边界矩形,这样我就可以检查我的鼠标坐标。
  2. 我可以获得一个旧的 skool GDI 区域,我可以在屏幕坐标中执行 PtInRegion。

希望你能帮助我找到所有这些扭曲的路径:-)。

0 投票
1 回答
816 浏览

actionscript-3 - hitTestObject, stopDrag 停止拖动两个动画剪辑,即使函数声明一个动画剪辑停止拖动

我有一个函数,当movieclip1 被拖动并击中一条线时它会停止拖动,但是它似乎停止了其他movieclip 上swf 中的整个拖动函数,即使它们没有在函数中调用。有人可以帮我解决这个问题。

问候 T

这是代码:

0 投票
4 回答
6159 浏览

actionscript-3 - AS3 - 检测您是否在未按下鼠标按钮的情况下单击了对象

好的,在as3中点击的时候,最高层的对象会被点击。我希望有人按下空格键并让屏幕上的对象检查它是否正在触摸一个点。

所以我首先尝试了hittest ...

if (this.hitTest(myPoint)){ play(); }

现在的问题是其他对象后面的对象认为他们被“点击”了。

然后在沮丧之后,我使用了谷歌,找不到任何东西,所以请任何帮助。

0 投票
5 回答
10115 浏览

ios - 界面视图。为什么在其父范围之外的子视图没有收到触摸?

我有一个简单的 - 微不足道的 - UIView 父/子层次结构。一位家长(UIView)。一个孩子(UIButton)。父母的界限比它的孩子的界限更小,因此孩子的一部分延伸到其父母的边界框之外。

这就是问题所在:在父母的 bbox 之外的孩子的那些部分没有收到触摸。只有在父的 bbox 内点击才允许子按钮接收触摸。

有人可以建议修复/解决方法吗?

更新

对于那些关注这个问题的人,这是我根据@Bastian 最出色的答案实施的解决方案: