Launcher.gd 550 B

123456789101112131415161718192021222324252627
  1. extends Node2D
  2. enum State {
  3. READY,
  4. FIRING,
  5. WAITING,
  6. }
  7. const BULLET_SPEED = 200.0
  8. var _ballScene = preload("res://scenes/Ball.tscn")
  9. onready var target = $Target
  10. onready var current_state = State.WAITING
  11. func _input(event):
  12. if event is InputEventMouseButton and event.is_pressed() :
  13. current_state = State.FIRING
  14. target.position = event.position
  15. shoot()
  16. func shoot():
  17. var bullet = _ballScene.instance()
  18. bullet.linear_velocity = (target.position - position).normalized()
  19. bullet.linear_velocity *= BULLET_SPEED
  20. add_child(bullet)