1234567891011121314151617181920212223242526272829 |
- extends Node2D
- enum State {
- READY,
- FIRING,
- WAITING,
- }
- const BULLET_SPEED = 200.0
- var _ballScene = preload("res://scenes/Ball.tscn")
- onready var target = $Target
- onready var source = $Source
- onready var current_state = State.WAITING
- func _input(event):
- if event is InputEventMouseButton and event.is_pressed() :
- current_state = State.FIRING
- target.position = event.position
- shoot()
- func shoot():
- var bullet = _ballScene.instance()
- bullet.position = source.position
- bullet.linear_velocity = (target.position - source.position).normalized()
- bullet.linear_velocity *= BULLET_SPEED
- add_child(bullet)
|