19 lines
368 B
GDScript3
19 lines
368 B
GDScript3
|
class_name Bullet extends Area2D
|
||
|
|
||
|
@export var speed = 700.0
|
||
|
@export var damage = 10.0
|
||
|
|
||
|
signal bullet_hit(body, bullet)
|
||
|
|
||
|
func set_speed(value):
|
||
|
speed = value
|
||
|
|
||
|
func _physics_process(delta: float) -> void:
|
||
|
position += transform.x * speed * delta
|
||
|
|
||
|
|
||
|
func _on_body_entered(body: Node2D) -> void:
|
||
|
if not body is Player:
|
||
|
print('bullet hit')
|
||
|
bullet_hit.emit(body, self)
|