Added some projectile sprites

This commit is contained in:
2025-11-08 22:52:40 +03:00
parent 340b050489
commit 213a0d60ed
18 changed files with 255 additions and 50 deletions
@@ -1 +1,25 @@
extends AbstractProjectile
@onready var sprites : Array[Sprite2D] = [
$Sprite2D_E, $Sprite2D_SE, $Sprite2D_S, $Sprite2D_SW,
$Sprite2D_W, $Sprite2D_NW, $Sprite2D_N, $Sprite2D_NE,
]
func _ready() -> void:
super._ready()
_update_sprite(_velocity)
func _update_sprite(velocity: Vector2) -> void:
var sector := 360.0 / sprites.size()
var angle := rad_to_deg(velocity.angle())
var bisector := floori(angle + sector * 0.5)
var index := floori(posmod(bisector, 360) / sector)
for sprite in sprites:
sprite.hide()
sprites[index].show()
@@ -1,16 +1,46 @@
[gd_scene load_steps=7 format=3 uid="uid://dukgbg13ujkv2"]
[gd_scene load_steps=15 format=3 uid="uid://dukgbg13ujkv2"]
[ext_resource type="PackedScene" uid="uid://ybkqaynvpcjm" path="res://game/entities/weapons/abstract_projectile.tscn" id="1_0mcat"]
[ext_resource type="Script" uid="uid://dkvur5bdwg3sr" path="res://game/entities/weapons/launcher/launcher_projectile.gd" id="2_6hdsf"]
[ext_resource type="Script" uid="uid://dftb7hg5f06b5" path="res://game/health_system/damage/explosion_damage.gd" id="3_ycnsk"]
[ext_resource type="Texture2D" uid="uid://oj86smpsipw4" path="res://images/projectiles.png" id="4_kxgpk"]
[sub_resource type="Resource" id="Resource_kxgpk"]
script = ExtResource("3_ycnsk")
value = 24
metadata/_custom_type_script = "uid://dftb7hg5f06b5"
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_0mcat"]
size = Vector2(4, 8)
[sub_resource type="AtlasTexture" id="AtlasTexture_kxgpk"]
atlas = ExtResource("4_kxgpk")
region = Rect2(0, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_kos01"]
atlas = ExtResource("4_kxgpk")
region = Rect2(16, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_iqm85"]
atlas = ExtResource("4_kxgpk")
region = Rect2(32, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_rno65"]
atlas = ExtResource("4_kxgpk")
region = Rect2(48, 32, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_f648y"]
atlas = ExtResource("4_kxgpk")
region = Rect2(0, 48, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_she3g"]
atlas = ExtResource("4_kxgpk")
region = Rect2(16, 48, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_4wwm4"]
atlas = ExtResource("4_kxgpk")
region = Rect2(32, 48, 16, 16)
[sub_resource type="AtlasTexture" id="AtlasTexture_dl8vu"]
atlas = ExtResource("4_kxgpk")
region = Rect2(48, 48, 16, 16)
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_6hdsf"]
radius = 1.0
@@ -21,8 +51,29 @@ script = ExtResource("2_6hdsf")
damage = SubResource("Resource_kxgpk")
speed = 300
[node name="Sprite2D" parent="." index="0"]
texture = SubResource("PlaceholderTexture2D_0mcat")
[node name="Sprite2D_E" type="Sprite2D" parent="." index="0"]
texture = SubResource("AtlasTexture_kxgpk")
[node name="CollisionShape2D" parent="." index="1"]
[node name="Sprite2D_SE" type="Sprite2D" parent="." index="1"]
texture = SubResource("AtlasTexture_kos01")
[node name="Sprite2D_S" type="Sprite2D" parent="." index="2"]
texture = SubResource("AtlasTexture_iqm85")
[node name="Sprite2D_SW" type="Sprite2D" parent="." index="3"]
texture = SubResource("AtlasTexture_rno65")
[node name="Sprite2D_W" type="Sprite2D" parent="." index="4"]
texture = SubResource("AtlasTexture_f648y")
[node name="Sprite2D_NW" type="Sprite2D" parent="." index="5"]
texture = SubResource("AtlasTexture_she3g")
[node name="Sprite2D_N" type="Sprite2D" parent="." index="6"]
texture = SubResource("AtlasTexture_4wwm4")
[node name="Sprite2D_NE" type="Sprite2D" parent="." index="7"]
texture = SubResource("AtlasTexture_dl8vu")
[node name="CollisionShape2D" parent="." index="8"]
shape = SubResource("CapsuleShape2D_6hdsf")