2026-03-10 01:04:23 +00:00
|
|
|
class_name Bullet extends Area2D
|
|
|
|
|
|
|
|
|
|
var speed:float=700
|
2026-03-24 00:55:46 +00:00
|
|
|
@onready var bullet_graphic: Sprite2D = $bulletGraphic
|
|
|
|
|
|
|
|
|
|
|
2026-03-17 00:57:47 +00:00
|
|
|
signal bulletDamageSignal(body,bullet)
|
|
|
|
|
|
2026-03-10 01:04:23 +00:00
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
|
|
|
func _ready() -> void:
|
|
|
|
|
pass # Replace with function body.
|
|
|
|
|
|
2026-03-17 00:57:47 +00:00
|
|
|
func setSpeed(value) -> void:
|
|
|
|
|
speed=value
|
2026-03-24 00:55:46 +00:00
|
|
|
if speed <0:
|
|
|
|
|
bullet_graphic.flip_h=true
|
|
|
|
|
if speed >0:
|
|
|
|
|
bullet_graphic.flip_h=false
|
2026-03-10 01:04:23 +00:00
|
|
|
|
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
|
|
|
func _process(delta: float) -> void:
|
|
|
|
|
position +=transform.x*speed *delta
|
2026-03-17 00:57:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
func _on_body_entered(body: Node2D) -> void:
|
|
|
|
|
bulletDamageSignal.emit(body,self)
|
2026-03-31 01:01:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
func _on_area_entered(area: Area2D) -> void:
|
|
|
|
|
bulletDamageSignal.emit(area,self)
|