Newer
Older
DungeonShooting / src / TestNavigation.cs
@小李xl 小李xl on 26 May 2022 1 KB 测试寻路
  1. using Godot;
  2.  
  3. public class TestNavigation : Node2D
  4. {
  5.  
  6. private Navigation2D Navigation2D;
  7. private Vector2[] points = new Vector2[0];
  8.  
  9. public override void _Ready()
  10. {
  11. Navigation2D = GetNode<Navigation2D>("Position2D/Navigation2D");
  12. }
  13.  
  14. public override void _Input(InputEvent @event)
  15. {
  16. if (@event is InputEventMouseButton ieb) {
  17. if (ieb.ButtonIndex == (int)ButtonList.Left && ieb.Pressed)
  18. {
  19. points = Navigation2D.GetSimplePath(Vector2.Zero, Navigation2D.ToLocal(ieb.Position));
  20. Update();
  21. string str = "";
  22. foreach (var item in points)
  23. {
  24. str += item;
  25. }
  26. GD.Print("路径: " + points.Length + ", " + str);
  27. }
  28. }
  29. }
  30. public override void _Draw()
  31. {
  32. if (points.Length >= 2) {
  33. GD.Print("绘制线段...");
  34. DrawPolyline(points, Colors.Red);
  35. // DrawMultiline(points, Colors.Red);
  36. }
  37. }
  38.  
  39. }