PolygonPathFinder
Наследует: Resource < RefCounted < Object
There is currently no description for this class. Please help us by contributing one!
Методы
get_bounds() const |
|
get_closest_point(point: Vector2) const |
|
get_intersections(from: Vector2, to: Vector2) const |
|
get_point_penalty(idx: int) const |
|
is_point_inside(point: Vector2) const |
|
void |
set_point_penalty(idx: int, penalty: float) |
void |
setup(points: PackedVector2Array, connections: PackedInt32Array) |
Описания метода
PackedVector2Array find_path(from: Vector2, to: Vector2) 🔗
There is currently no description for this method. Please help us by contributing one!
There is currently no description for this method. Please help us by contributing one!
Vector2 get_closest_point(point: Vector2) const 🔗
There is currently no description for this method. Please help us by contributing one!
PackedVector2Array get_intersections(from: Vector2, to: Vector2) const 🔗
There is currently no description for this method. Please help us by contributing one!
float get_point_penalty(idx: int) const 🔗
There is currently no description for this method. Please help us by contributing one!
bool is_point_inside(point: Vector2) const 🔗
Возвращает true, если point попадает внутрь области многоугольника.
var polygon_path_finder = PolygonPathFinder.new()
var points = [Vector2(0.0, 0.0), Vector2(1.0, 0.0), Vector2(0.0, 1.0)]
var connections = [0, 1, 1, 2, 2, 0]
polygon_path_finder.setup(points, connections)
print(polygon_path_finder.is_point_inside(Vector2(0.2, 0.2))) # Выводит true
print(polygon_path_finder.is_point_inside(Vector2(1.0, 1.0))) # Выводит false
var polygonPathFinder = new PolygonPathFinder();
Vector2[] points =
[
new Vector2(0.0f, 0.0f),
new Vector2(1.0f, 0.0f),
new Vector2(0.0f, 1.0f)
];
int[] connections = [0, 1, 1, 2, 2, 0];
polygonPathFinder.Setup(points, connections);
GD.Print(polygonPathFinder.IsPointInside(new Vector2(0.2f, 0.2f))); // Выводит True
GD.Print(polygonPathFinder.IsPointInside(new Vector2(1.0f, 1.0f))); // Выводит False
void set_point_penalty(idx: int, penalty: float) 🔗
There is currently no description for this method. Please help us by contributing one!
void setup(points: PackedVector2Array, connections: PackedInt32Array) 🔗
Устанавливает PolygonPathFinder с массивом точек, которые определяют вершины многоугольника, и массивом индексов, которые определяют ребра многоугольника.
Длина connections должна быть четной, возвращает ошибку, если нечетная.
var polygon_path_finder = PolygonPathFinder.new()
var points = [Vector2(0.0, 0.0), Vector2(1.0, 0.0), Vector2(0.0, 1.0)]
var connections = [0, 1, 1, 2, 2, 0]
polygon_path_finder.setup(points, connections)
var polygonPathFinder = new PolygonPathFinder();
Vector2[] points =
[
new Vector2(0.0f, 0.0f),
new Vector2(1.0f, 0.0f),
new Vector2(0.0f, 1.0f)
];
int[] connections = [0, 1, 1, 2, 2, 0];
polygonPathFinder.Setup(points, connections);