GodotCourse/week1/3dVersion/scripts/bullet.gd

23 lines
582 B
GDScript

class_name Bullet extends Area3D
var speed = 2
signal hit(bullet, body)
func setSpeed(speedVal):
speed = speedVal
func _physics_process(delta):
#three approaches:
#1. update position with a vector3
#position += Vector3(speed * delta, 0, 0)
#2. update the transform
#global_transform.origin += transform.basis.x.normalized() * speed * delta
#3. calculate the vector of intended direction
var velocity_vector = transform.basis.x * speed
position += velocity_vector * delta
func _on_body_entered(body: Node3D) -> void:
print("bullet hit a thing")
hit.emit(self, body)