algorithm - 计算 Sprite 之间的面积

标签 algorithm

我正在开发一个简单的 2D 足球游戏,在我的球员之间传球时我想检查是否有任何敌方球员可以拦截球,我想做的是计算我和我之间的坐标列表玩家可以说是一个走廊,然后检查这个区域是否有敌方玩家,

--------------------------
S                        S
--------------------------

Ss这样躺着的时候计算面积很容易,但是不对齐的时候怎么算面积,

       /S /
      /  /
     /  /
    /  /
   /  /
  /  /
 / S/

编辑:当我指的是区域时,我想要该区域的坐标列表,以便我可以根据玩家坐标检查这些坐标,而不是区域的大小。

最佳答案

(image) http://img441.imageshack.us/img441/9051/soccer.png

显示敌人在红线之间:Calculate the distance敌人到由两名玩家形成的线(虚线)。如果是<= w/2 (w 是您“区域”的宽度),那么敌人要么在该区域内,要么在其中一名玩家身后。

Show enemy is between orange lines:要检查他不在其中一名玩家后面,只需检查他是 between the two lines通过其中一名球员并且是normal ( perpendicular ) 到第一行(穿过两个玩家的虚线)。

这会告诉你敌人是否在黄色区域内:

关于algorithm - 计算 Sprite 之间的面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3233873/

相关文章:

java - 如何在算法 BFS 期间跟踪路径

c++ - 如何将函数作为参数传递给transform()函数?

android - Android 移动应用程序的基于兴趣和位置的算法

vba - Access 2016 VBA - 创建自定义控件集合,手动指定控件名称

c# - 时间序列和关联策略

c# - 人类语言测试算法

algorithm - 高效生成 "subtraction chains"

javascript - 有效地确定一个点在二维空间中的哪个矩形

algorithm - 我该如何解决这个动态规划问题?

algorithm - 给定顶点的度数,检查是否存在无向图