basic pew pew without damage or collision
This commit is contained in:
20
Projectiles/basic_projectile.gd
Normal file
20
Projectiles/basic_projectile.gd
Normal file
@@ -0,0 +1,20 @@
|
||||
extends Area2D
|
||||
|
||||
@export var DAMAGE = 1;
|
||||
@export var SPEED = 800;
|
||||
@export var LIFETIME = 3;
|
||||
|
||||
@onready var life_timer = $LifeTimer;
|
||||
|
||||
var velocity = Vector2.ZERO;
|
||||
|
||||
func _process(delta):
|
||||
if velocity != Vector2.ZERO:
|
||||
transform.origin += velocity * delta;
|
||||
|
||||
func launch(direction):
|
||||
life_timer.start(LIFETIME);
|
||||
velocity = direction * SPEED;
|
||||
|
||||
func _on_life_timer_timeout():
|
||||
queue_free();
|
21
Projectiles/basic_projectile.tscn
Normal file
21
Projectiles/basic_projectile.tscn
Normal file
@@ -0,0 +1,21 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cpo8qy3y0fuui"]
|
||||
|
||||
[ext_resource type="Script" path="res://Projectiles/basic_projectile.gd" id="1_l2kyf"]
|
||||
[ext_resource type="Texture2D" uid="uid://gqotbni355f" path="res://Sprites/placeholder_projectile.png" id="1_o7jy1"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_pp7ve"]
|
||||
size = Vector2(10, 10)
|
||||
|
||||
[node name="basic_projectile" type="Area2D"]
|
||||
script = ExtResource("1_l2kyf")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
scale = Vector2(5, 5)
|
||||
texture = ExtResource("1_o7jy1")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("RectangleShape2D_pp7ve")
|
||||
|
||||
[node name="LifeTimer" type="Timer" parent="."]
|
||||
|
||||
[connection signal="timeout" from="LifeTimer" to="." method="_on_life_timer_timeout"]
|
Reference in New Issue
Block a user