GKMeshGraph
一个2D游戏世界,创造流畅的寻路绕过障碍物的空间填充网络导航图。
概括
Mesh Graph进行寻路,需要GKObstacle对象集合表示无法通过的区域,GKGraphNode2D对象表示需要寻路的坐标点(比方说当前角色的坐标和需要到达的目的地坐标),然后通过GKGraph的方法在graph中进行寻路。
与GKObstacleGraph类不同,一个mesh graph创建了一个充满graph node的空间网络,可以使路径很平滑但不是最高效的。
Topics
创建一个Graph(Creating a Graph)
- initWithBufferRadius:minCoordinate:maxCoordinate:nodeClass:
使用指定node类创建一个包围指定区域的graph。
+ graphWithBufferRadius:minCoordinate:maxCoordinate:nodeClass:
使用指定node类创建一个包围指定区域的graph。
- initWithBufferRadius:minCoordinate:maxCoordinate:
创建一个包围指定区域的graph。
+ graphWithBufferRadius:minCoordinate:maxCoordinate:
创建一个包围指定区域的graph。
障碍物相关方法(Working with Obstacles)
- connectNodeUsingObstacles:
添加指定的node到graph中,创建相邻节点的连接而不创建通过障碍物的连接或者缓冲区域的连接。
bufferRadius
障碍物四周边缘的空间,也被认定为无法通过的区域。
管理Mesh(Managing the Mesh)
- triangulate
使用网格node描述除障碍物外的开放空间进行创建和修改graph。
triangulationMode
关于如何三角测量graph时放置graph node的一组设置。
- triangleAtIndex:
指定索引的三角形。
triangleCount
网格中三角形个数。
常量(Constants)
GKMeshGraphTriangulationMode
通过使用triangulationMode属性用于当生成graph时如何放置graph node的设置。
GKTriangle
在网格中定义一个三角形,可以使用triangleAtIndex:方法。
实例方法(Instance Methods)
- classForGenericArgumentAtIndex:
关系
继承
GKGraph