草庐IT

pathNode

全部标签

c++ - 在 A* 遍历后从 map 中移除产生最佳路径的障碍

我使用自己的A*实现遍历了一个16x16的迷宫。一切顺利。然而,在遍历之后,我想找出哪堵墙会给我最佳替代路径。除了移除每个block并在迷宫上重新运行A*,还有什么更聪明、更优雅的解决方案?我想给每个墙节点(被A*忽略)一个暂定的F值,并更改节点结构以也有一个n大小的node*tentative_parent列表,其中n是迷宫中的墙数。这可行吗? 最佳答案 当您将一个节点添加到要考虑的节点列表时,还要添加一个标志,说明通过该节点的路径是否已经穿过墙。possibleNode.heuristic=currentNode.distanc

swift - 检测节点是否触摸帧的最佳方法

我和斯普里特基特建立一些游戏,其中包括作为斯科沙普诺德球。我创建了一个类来定义球及其属性(包括skphysicsbody)。球应该在屏幕上运行,框架是屏幕边界(使用edgeloopfrom:self.frame)。我还创建了一个位于屏幕顶部的路径节点。现在,我想这样做,如果一些球到达了框架的顶部边界,那么一些函数将执行。我读了一些关于它的文章,我不确定什么是正确的方法,如果使用contactBitMask或者有其他更好的选择。如果正确的方法是通过contactBitmask-我必须为balls节点设置一个结构,还是可以在类中设置它?谢谢! 最佳答案