【发布时间】:2019-03-25 11:59:04
【问题描述】:
我正在使用awt,它运行良好。但是,我需要检测一个物体撞击另一个物体的 side。对于矩形,这将是一个简单的数学运算,但是对于另一个形状(比如说文本),它就没有那么简单了。
例如,我有一个用箭头键移动的“播放器”(一个矩形形状),以及一个带有与文本匹配的碰撞框的文本(一个与文本匹配的形状)。
如果玩家进入字母之间,然后撞到字母的右侧,我希望将其区分为右侧,而不是左侧(就像矩形示例一样)。
我已经已经完成了碰撞检测,这不是问题。我想检测发生碰撞的面(左、右、上、下)。
换句话说,如果有人制作了一个自定义形状,其中有两个矩形,但它们之间的中心是空白的,我想检测发生碰撞的面。所以,如果我在右侧有左侧矩形,我想知道我击中了右侧,如果我击中左侧的右侧矩形,我想知道我击中了左侧。
这可能吗?如果有,是否实用?
【问题讨论】:
-
回答问题时,播放器和文本的定义方式等信息至关重要。请张贴minimal reproducible example 展示您想要实现的目标,以及这个问题与您的previous 问题的不同之处。
-
@c0der 我更新了播放器部分,但文本部分无关紧要。这是一个例子,我想用任何形状来做这个,我想也许我可以使用 awt 用来绘制形状的相同函数。而我之前的问题和这个无关?
-
“我想用任何形状做这个”是否意味着所有文本都是由Shape对象组成的?
-
好的,很明显我在这里没有得到答案。这不是标记问题的重复,但我知道自己该怎么做。
-
DIY 永远是最好的。我把这个问题标记为太宽泛了。如果您希望得到答案,请提供所有相关信息。您可能需要tour 并查看How do I ask a good question?。