Newer
Older
DungeonShooting / DungeonShooting_Godot / src / test / TestNavigation.cs
@小李xl 小李xl on 24 Aug 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.  
  31. public override void _Draw()
  32. {
  33. if (points.Length >= 2)
  34. {
  35. GD.Print("绘制线段...");
  36. DrawPolyline(points, Colors.Red);
  37. // DrawMultiline(points, Colors.Red);
  38. }
  39. }
  40. }