寻路#
arcade.AStarBarrierList#
- class arcade.AStarBarrierList(moving_sprite: arcade.sprite.Sprite, blocking_sprites: arcade.sprite_list.sprite_list.SpriteList, grid_size: int, left: int, right: int, bottom: int, top: int)[源代码]#
管理在A*路径查找过程中可能遇到的障碍列表的类。
- 参数
arcade.astar_calculate_path#
- arcade.astar_calculate_path(start_point: Union[Tuple[float, float], List[float]], end_point: Union[Tuple[float, float], List[float]], astar_barrier_list: arcade.paths.AStarBarrierList, diagonal_movement=True)[源代码]#
- 参数
start_point (Point) --
end_point (Point) --
astar_barrier_list (AStarBarrierList) --
diagonal_movement (bool) --
退货:列表
arcade.has_line_of_sight#
- arcade.has_line_of_sight(point_1: Union[Tuple[float, float], List[float]], point_2: Union[Tuple[float, float], List[float]], walls: arcade.sprite_list.sprite_list.SpriteList, max_distance: int = - 1, check_resolution: int = 2)[源代码]#
确定我们在两点之间是否有视线。尝试确保在墙上SpriteList上启用了空间散列,否则速度将非常慢。
- 参数
point_1 (Point) -- 起始位置
point_2 (Point) -- 结束位置位置
walls (SpriteList) -- 所有阻止精灵的列表
max_distance (int) -- 点1可以看到的最大距离
check_resolution (int) -- 检查每个x像素中是否有精灵。在准确性和速度之间进行权衡。