Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic 如何检测什么是可见的视角_Language Agnostic_Collision Detection - Fatal编程技术网

Language agnostic 如何检测什么是可见的视角

Language agnostic 如何检测什么是可见的视角,language-agnostic,collision-detection,Language Agnostic,Collision Detection,我目前正在编写一个迷宫游戏,我试图编写一个有限的视角(我不认为这是一个术语,但我画了一个空白)。我的目标是只揭示迷宫中墙后没有隐藏的东西 一些重要事实: 我的墙不是线条,而是积木(这会让事情变得更容易) 视图限制为最多5个正方形 正方形的大小由用户决定 以下是我目前的想法: 创建一个角度列表(可能相隔15度?) 对于每个角度,计算每个角度中1平方距离的点 在集合中找到的点上添加正方形 如果方形被阻挡,则从列表中删除角度 这行得通吗,还是有更好的方法来实现有限的视角?不清楚你在问什么——你是在问第

我目前正在编写一个迷宫游戏,我试图编写一个有限的视角(我不认为这是一个术语,但我画了一个空白)。我的目标是只揭示迷宫中墙后没有隐藏的东西

一些重要事实:

  • 我的墙不是线条,而是积木(这会让事情变得更容易)
  • 视图限制为最多5个正方形
  • 正方形的大小由用户决定
  • 以下是我目前的想法:

  • 创建一个角度列表(可能相隔15度?)
  • 对于每个角度,计算每个角度中1平方距离的点
  • 在集合中找到的点上添加正方形
  • 如果方形被阻挡,则从列表中删除角度

  • 这行得通吗,还是有更好的方法来实现有限的视角?

    不清楚你在问什么——你是在问第一人称迷宫游戏3D渲染中的遮挡问题吗?如果是这样的话,Wolfenstein 3D就是一个典型的例子

    然而,现代硬件一般都很好,足以在填充率中淹没这样的问题——使用OpenGL或DirectX对3D场景进行幼稚的渲染,只需“做正确的事情”


    如果您不担心绘图,而是担心碰撞检测,那么您也可以使用光线投射。如果你不想实现自己复杂的东西,你可以使用一个物理库,比如。

    Heh,我已经找到了答案。我不会使用任何图形化框架(Swing除外),所以这已经过时了。我的问题是“如果我站在x,y(2D)的位置,假设我只能看到5个方格,我如何判断从我的点可以看到什么。上面的解决方案解决了这个问题。