boss update
This commit is contained in:
parent
bb871371b6
commit
f7d034147d
15 changed files with 577 additions and 79 deletions
|
@ -1,5 +1,5 @@
|
||||||
extends CollisionShape2D
|
extends Node2D
|
||||||
|
|
||||||
# Called every physics frame. 'delta' is the elapsed time since the previous frame.
|
# Called every physics frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _physics_process(delta):
|
func _process(delta):
|
||||||
global_rotation = 0
|
global_rotation = 0
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=16 format=3 uid="uid://b75dkyryn0qnb"]
|
[gd_scene load_steps=15 format=3 uid="uid://b75dkyryn0qnb"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c6ybtahxwpukd" path="res://bullet.tscn" id="1_kjw43"]
|
[ext_resource type="PackedScene" uid="uid://c6ybtahxwpukd" path="res://bullet.tscn" id="1_kjw43"]
|
||||||
[ext_resource type="Texture2D" uid="uid://foqvx0qb0gic" path="res://tar_bullet.png" id="2_cgmk6"]
|
[ext_resource type="Texture2D" uid="uid://foqvx0qb0gic" path="res://tar_bullet.png" id="2_cgmk6"]
|
||||||
|
@ -97,10 +97,8 @@ animations = [{
|
||||||
"speed": 10.0
|
"speed": 10.0
|
||||||
}]
|
}]
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_q18vg"]
|
|
||||||
radius = 45.0
|
|
||||||
|
|
||||||
[node name="Bullet" instance=ExtResource("1_kjw43")]
|
[node name="Bullet" instance=ExtResource("1_kjw43")]
|
||||||
|
contact_monitor = false
|
||||||
linear_damp = 1.0
|
linear_damp = 1.0
|
||||||
|
|
||||||
[node name="Sprite2D" parent="." index="1"]
|
[node name="Sprite2D" parent="." index="1"]
|
||||||
|
@ -111,10 +109,4 @@ animation = &"default"
|
||||||
autoplay = ""
|
autoplay = ""
|
||||||
offset = Vector2(-0.854763, 1.21806)
|
offset = Vector2(-0.854763, 1.21806)
|
||||||
|
|
||||||
[node name="Explosion" type="Area2D" parent="." index="2"]
|
|
||||||
rotation = -1.5708
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Explosion" index="0"]
|
|
||||||
shape = SubResource("CircleShape2D_q18vg")
|
|
||||||
|
|
||||||
[connection signal="animation_looped" from="Sprite2D" to="." method="explode"]
|
[connection signal="animation_looped" from="Sprite2D" to="." method="explode"]
|
||||||
|
|
|
@ -10,11 +10,6 @@ func _physics_process(delta):
|
||||||
|
|
||||||
if player in $Explosion.get_overlapping_bodies():
|
if player in $Explosion.get_overlapping_bodies():
|
||||||
$Sprite2D.play("default")
|
$Sprite2D.play("default")
|
||||||
|
|
||||||
func explode():
|
|
||||||
for item in $Explosion.get_overlapping_bodies():
|
|
||||||
hit(item)
|
|
||||||
queue_free()
|
|
||||||
|
|
||||||
func hit(body):
|
func hit(body):
|
||||||
if body.is_in_group("destructible"):
|
if body.is_in_group("destructible"):
|
||||||
|
|
BIN
dotted circle.png
Normal file
BIN
dotted circle.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
34
dotted circle.png.import
Normal file
34
dotted circle.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://yq2flqkxnw7u"
|
||||||
|
path="res://.godot/imported/dotted circle.png-8a108c04f1ddf7855dffab243dd0b566.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://dotted circle.png"
|
||||||
|
dest_files=["res://.godot/imported/dotted circle.png-8a108c04f1ddf7855dffab243dd0b566.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
11
main.tscn
11
main.tscn
File diff suppressed because one or more lines are too long
28
riangle-tar.gd
Normal file
28
riangle-tar.gd
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
extends "res://riangle.gd"
|
||||||
|
|
||||||
|
@onready var player = $"../Player"
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
apply_central_force((global_position - player.global_position).normalized() * -50)
|
||||||
|
|
||||||
|
func hit(body):
|
||||||
|
if body.is_in_group("destructible"):
|
||||||
|
if body.has_method("destroy"):
|
||||||
|
body.destroy()
|
||||||
|
else:
|
||||||
|
body.queue_free()
|
||||||
|
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
func explode():
|
||||||
|
for body in $Explosion.get_overlapping_bodies():
|
||||||
|
hit(body)
|
||||||
|
|
||||||
|
queue_free()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_explosion_body_entered(body):
|
||||||
|
if body.name == "Player":
|
||||||
|
$Sprite2D.play("default")
|
||||||
|
$ExplosionRadius.visible = true
|
|
@ -1,9 +1,13 @@
|
||||||
[gd_scene load_steps=18 format=3 uid="uid://mlb0a8hdbtqw"]
|
[gd_scene load_steps=20 format=3 uid="uid://mlb0a8hdbtqw"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://riangle.gd" id="1_eh3cx"]
|
[ext_resource type="Script" path="res://riangle-tar.gd" id="1_81oja"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c562ut0sxn6we" path="res://riangle-tar.png" id="2_1actw"]
|
[ext_resource type="Texture2D" uid="uid://c562ut0sxn6we" path="res://riangle-tar.png" id="2_1actw"]
|
||||||
[ext_resource type="Script" path="res://Gun.gd" id="3_5oxo6"]
|
[ext_resource type="Script" path="res://LockedRotation.gd" id="4_eemlr"]
|
||||||
[ext_resource type="PackedScene" uid="uid://b75dkyryn0qnb" path="res://bullet-tar.tscn" id="4_t8bmd"]
|
[ext_resource type="Texture2D" uid="uid://yq2flqkxnw7u" path="res://dotted circle.png" id="5_e5pjh"]
|
||||||
|
|
||||||
|
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_btknm"]
|
||||||
|
friction = 0.0
|
||||||
|
bounce = 1.0
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fr0hq"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fr0hq"]
|
||||||
atlas = ExtResource("2_1actw")
|
atlas = ExtResource("2_1actw")
|
||||||
|
@ -60,6 +64,12 @@ animations = [{
|
||||||
"texture": SubResource("AtlasTexture_fr0hq")
|
"texture": SubResource("AtlasTexture_fr0hq")
|
||||||
}, {
|
}, {
|
||||||
"duration": 1.0,
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fr0hq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fr0hq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
"texture": SubResource("AtlasTexture_ndbtj")
|
"texture": SubResource("AtlasTexture_ndbtj")
|
||||||
}, {
|
}, {
|
||||||
"duration": 1.0,
|
"duration": 1.0,
|
||||||
|
@ -92,50 +102,47 @@ animations = [{
|
||||||
"duration": 1.0,
|
"duration": 1.0,
|
||||||
"texture": SubResource("AtlasTexture_cojx6")
|
"texture": SubResource("AtlasTexture_cojx6")
|
||||||
}],
|
}],
|
||||||
"loop": true,
|
"loop": false,
|
||||||
"name": &"default",
|
"name": &"default",
|
||||||
"speed": 5.0
|
"speed": 10.0
|
||||||
}]
|
}]
|
||||||
|
|
||||||
[node name="Riangle" type="CharacterBody2D" groups=["destructible", "enemy"]]
|
[sub_resource type="CircleShape2D" id="CircleShape2D_cq436"]
|
||||||
scale = Vector2(0.25, 0.25)
|
radius = 254.0
|
||||||
script = ExtResource("1_eh3cx")
|
|
||||||
|
[node name="Riangle" type="RigidBody2D" groups=["destructible", "enemy"]]
|
||||||
|
physics_material_override = SubResource("PhysicsMaterial_btknm")
|
||||||
|
gravity_scale = 1.66533e-16
|
||||||
|
linear_damp = 0.2
|
||||||
|
script = ExtResource("1_81oja")
|
||||||
|
|
||||||
[node name="Sprite2D" type="AnimatedSprite2D" parent="."]
|
[node name="Sprite2D" type="AnimatedSprite2D" parent="."]
|
||||||
texture_filter = 1
|
texture_filter = 1
|
||||||
position = Vector2(-29.5874, 1.58741)
|
position = Vector2(-7, 8.84254e-14)
|
||||||
rotation = 1.5708
|
rotation = 1.5708
|
||||||
scale = Vector2(3.61152, 3.61152)
|
scale = Vector2(0.903, 0.903)
|
||||||
sprite_frames = SubResource("SpriteFrames_xlxob")
|
sprite_frames = SubResource("SpriteFrames_xlxob")
|
||||||
autoplay = "default"
|
|
||||||
speed_scale = 2.0
|
|
||||||
|
|
||||||
[node name="Gun2" type="Marker2D" parent="."]
|
|
||||||
position = Vector2(-224, 284)
|
|
||||||
rotation = 2.0944
|
|
||||||
script = ExtResource("3_5oxo6")
|
|
||||||
bullet = ExtResource("4_t8bmd")
|
|
||||||
|
|
||||||
[node name="Gun3" type="Marker2D" parent="."]
|
|
||||||
position = Vector2(-224, -284)
|
|
||||||
rotation = -2.0944
|
|
||||||
scale = Vector2(1, 1)
|
|
||||||
script = ExtResource("3_5oxo6")
|
|
||||||
bullet = ExtResource("4_t8bmd")
|
|
||||||
|
|
||||||
[node name="Gun" type="Marker2D" parent="."]
|
|
||||||
position = Vector2(272, 0)
|
|
||||||
script = ExtResource("3_5oxo6")
|
|
||||||
bullet = ExtResource("4_t8bmd")
|
|
||||||
|
|
||||||
[node name="Timer" type="Timer" parent="."]
|
|
||||||
autostart = true
|
|
||||||
|
|
||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
||||||
position = Vector2(-8, 0)
|
position = Vector2(2.08165e-12, 2.08165e-12)
|
||||||
|
scale = Vector2(0.25, 0.25)
|
||||||
polygon = PackedVector2Array(-80, -104, 100, 0, -80, 104)
|
polygon = PackedVector2Array(-80, -104, 100, 0, -80, 104)
|
||||||
|
|
||||||
[connection signal="timeout" from="Timer" to="Gun2" method="shoot"]
|
[node name="ExplosionRadius" type="Sprite2D" parent="."]
|
||||||
[connection signal="timeout" from="Timer" to="Gun3" method="shoot"]
|
visible = false
|
||||||
[connection signal="timeout" from="Timer" to="Gun" method="shoot"]
|
modulate = Color(0.768627, 0.254902, 0.254902, 1)
|
||||||
[connection signal="timeout" from="Timer" to="." method="destroy"]
|
texture_filter = 1
|
||||||
|
scale = Vector2(4, 4)
|
||||||
|
texture = ExtResource("5_e5pjh")
|
||||||
|
script = ExtResource("4_eemlr")
|
||||||
|
|
||||||
|
[node name="Explosion" type="Area2D" parent="."]
|
||||||
|
rotation = -1.5708
|
||||||
|
collision_layer = 3
|
||||||
|
collision_mask = 3
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Explosion"]
|
||||||
|
shape = SubResource("CircleShape2D_cq436")
|
||||||
|
|
||||||
|
[connection signal="animation_finished" from="Sprite2D" to="." method="explode"]
|
||||||
|
[connection signal="body_entered" from="Explosion" to="." method="_on_explosion_body_entered"]
|
||||||
|
|
|
@ -3,7 +3,6 @@ extends Node2D
|
||||||
var riangle = preload("res://riangle-tar.tscn")
|
var riangle = preload("res://riangle-tar.tscn")
|
||||||
|
|
||||||
func spawn():
|
func spawn():
|
||||||
process_mode = Node.PROCESS_MODE_DISABLED
|
|
||||||
var tween = get_tree().create_tween()
|
var tween = get_tree().create_tween()
|
||||||
tween.set_parallel(true)
|
tween.set_parallel(true)
|
||||||
tween.set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
|
tween.set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT)
|
||||||
|
@ -15,14 +14,12 @@ func spawn():
|
||||||
tween.tween_property(node, "position", Vector2.ZERO, 0.5)
|
tween.tween_property(node, "position", Vector2.ZERO, 0.5)
|
||||||
|
|
||||||
func eject():
|
func eject():
|
||||||
var tween = get_tree().create_tween().set_ease(Tween.EASE_IN_OUT).set_trans(Tween.TRANS_SINE)
|
|
||||||
for spawner in get_children():
|
for spawner in get_children():
|
||||||
var riangle = spawner.get_child(0)
|
var riangle = spawner.get_child(0)
|
||||||
tween.tween_property(riangle, "position", Vector2(randi_range(200, 400), 0), 0.5)
|
if riangle == null:
|
||||||
tween.tween_property(spawner, "process_mode", PROCESS_MODE_PAUSABLE, 0.1)
|
return
|
||||||
|
riangle.apply_central_impulse(Vector2(1000, randi_range(-100, 100)).rotated(spawner.rotation))
|
||||||
|
await get_tree().create_timer(0.05).timeout
|
||||||
|
riangle.reparent($/root/Node2D)
|
||||||
|
|
||||||
await tween.finished
|
await get_tree().create_timer(0.1).timeout
|
||||||
await get_tree().create_timer(1).timeout
|
|
||||||
|
|
||||||
for spawner in get_children():
|
|
||||||
spawner.process_mode = Node.PROCESS_MODE_INHERIT
|
|
||||||
|
|
BIN
tar phase 2.png
Normal file
BIN
tar phase 2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
34
tar phase 2.png.import
Normal file
34
tar phase 2.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dx5bmcutp8qu1"
|
||||||
|
path="res://.godot/imported/tar phase 2.png-16c202fc6e095ed227f8a4aae944f9fd.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://tar phase 2.png"
|
||||||
|
dest_files=["res://.godot/imported/tar phase 2.png-16c202fc6e095ed227f8a4aae944f9fd.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
BIN
tar transform.png
Normal file
BIN
tar transform.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 299 KiB |
34
tar transform.png.import
Normal file
34
tar transform.png.import
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cxd035cvwa22b"
|
||||||
|
path="res://.godot/imported/tar transform.png-273f3b4e778ece918c6be91529a99b9b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://tar transform.png"
|
||||||
|
dest_files=["res://.godot/imported/tar transform.png-273f3b4e778ece918c6be91529a99b9b.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
39
tar.gd
39
tar.gd
|
@ -1,12 +1,49 @@
|
||||||
extends Node2D
|
extends RigidBody2D
|
||||||
|
|
||||||
|
var phase2_active = false
|
||||||
|
var health = 10
|
||||||
|
var spawn_remaining = 5
|
||||||
|
@onready var player = $"../Player"
|
||||||
|
|
||||||
|
func hit(body):
|
||||||
|
if body.is_in_group("destructible"):
|
||||||
|
if body.has_method("destroy"):
|
||||||
|
body.destroy()
|
||||||
|
else:
|
||||||
|
body.queue_free()
|
||||||
|
health -= 1
|
||||||
|
if body.name == "Border":
|
||||||
|
health -= 1
|
||||||
|
|
||||||
|
if health <= 0 and not is_queued_for_deletion():
|
||||||
|
# do the death stuff
|
||||||
|
queue_free()
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
await get_tree().create_timer(1).timeout
|
await get_tree().create_timer(1).timeout
|
||||||
phase()
|
phase()
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
if phase2_active:
|
||||||
|
apply_central_force((global_position - player.global_position).normalized() * -1700)
|
||||||
|
|
||||||
func phase():
|
func phase():
|
||||||
|
if phase2_active:
|
||||||
|
return
|
||||||
|
if spawn_remaining <= 0:
|
||||||
|
phase2()
|
||||||
|
return
|
||||||
|
|
||||||
|
spawn_remaining -= 1
|
||||||
$Sprite.play("spawn")
|
$Sprite.play("spawn")
|
||||||
$"Riangle Zone".spawn()
|
$"Riangle Zone".spawn()
|
||||||
await get_tree().create_timer(1).timeout
|
await get_tree().create_timer(1).timeout
|
||||||
$Sprite.play("idle")
|
$Sprite.play("idle")
|
||||||
$"Riangle Zone".eject()
|
$"Riangle Zone".eject()
|
||||||
|
|
||||||
|
func phase2():
|
||||||
|
$Sprite.play("transform")
|
||||||
|
await $Sprite.animation_finished
|
||||||
|
$Sprite.play("phase2")
|
||||||
|
phase2_active = true
|
||||||
|
freeze = false
|
||||||
|
|
355
tar.tscn
355
tar.tscn
|
@ -1,8 +1,10 @@
|
||||||
[gd_scene load_steps=21 format=3 uid="uid://4sdwatj6up8i"]
|
[gd_scene load_steps=69 format=3 uid="uid://4sdwatj6up8i"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://tar.gd" id="1_7s3by"]
|
[ext_resource type="Script" path="res://tar.gd" id="1_7s3by"]
|
||||||
[ext_resource type="Texture2D" uid="uid://d4cjh2d7wxdyp" path="res://tar_body.png" id="1_pwibo"]
|
[ext_resource type="Texture2D" uid="uid://d4cjh2d7wxdyp" path="res://tar_body.png" id="1_pwibo"]
|
||||||
[ext_resource type="Script" path="res://riangle_spawner.gd" id="2_h2r2l"]
|
[ext_resource type="Script" path="res://riangle_spawner.gd" id="2_h2r2l"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dx5bmcutp8qu1" path="res://tar phase 2.png" id="3_vsiid"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cxd035cvwa22b" path="res://tar transform.png" id="4_a2l77"]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8xl5i"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8xl5i"]
|
||||||
atlas = ExtResource("1_pwibo")
|
atlas = ExtResource("1_pwibo")
|
||||||
|
@ -16,6 +18,18 @@ region = Rect2(256, 0, 128, 128)
|
||||||
atlas = ExtResource("1_pwibo")
|
atlas = ExtResource("1_pwibo")
|
||||||
region = Rect2(1536, 0, 128, 128)
|
region = Rect2(1536, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_3na4e"]
|
||||||
|
atlas = ExtResource("3_vsiid")
|
||||||
|
region = Rect2(0, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qr8vt"]
|
||||||
|
atlas = ExtResource("3_vsiid")
|
||||||
|
region = Rect2(128, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_je6ot"]
|
||||||
|
atlas = ExtResource("3_vsiid")
|
||||||
|
region = Rect2(0, 128, 128, 128)
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3gxc7"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_3gxc7"]
|
||||||
atlas = ExtResource("1_pwibo")
|
atlas = ExtResource("1_pwibo")
|
||||||
region = Rect2(0, 0, 128, 128)
|
region = Rect2(0, 0, 128, 128)
|
||||||
|
@ -68,6 +82,178 @@ region = Rect2(1408, 0, 128, 128)
|
||||||
atlas = ExtResource("1_pwibo")
|
atlas = ExtResource("1_pwibo")
|
||||||
region = Rect2(1536, 0, 128, 128)
|
region = Rect2(1536, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_245vq"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(0, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fgjgx"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(128, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_kwgyu"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(256, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_6oqrq"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(384, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_qu0ua"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(512, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ubij7"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(640, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_mw8sx"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(768, 0, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_cji0l"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(0, 128, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_q8cuq"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(128, 128, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_u3ffa"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(256, 128, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_n6002"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(384, 128, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_32xbc"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(512, 128, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_j8nr7"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(640, 128, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8dsgi"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(768, 128, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_1c333"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(0, 256, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_c717t"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(128, 256, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_1nfc7"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(256, 256, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_yt8qr"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(384, 256, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_6duvy"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(512, 256, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fjg4l"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(640, 256, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fnyj1"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(768, 256, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5fn52"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(0, 384, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_gqcuu"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(128, 384, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_i1exv"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(256, 384, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_cw1hp"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(384, 384, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_tqo1k"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(512, 384, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vrbo7"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(640, 384, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_hqwqu"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(768, 384, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_v8aoy"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(0, 512, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_attdy"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(128, 512, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_e4m2t"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(256, 512, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_5pjvo"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(384, 512, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_cpt0s"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(512, 512, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_62qta"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(640, 512, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_7wplc"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(768, 512, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_bohy5"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(0, 640, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_xohpi"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(128, 640, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_ugpk6"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(256, 640, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_hrxvy"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(384, 640, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_wdoqv"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(512, 640, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_8eyh6"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(640, 640, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_uqrkk"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(768, 640, 128, 128)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_24sc5"]
|
||||||
|
atlas = ExtResource("4_a2l77")
|
||||||
|
region = Rect2(0, 768, 128, 128)
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ufq3r"]
|
[sub_resource type="SpriteFrames" id="SpriteFrames_ufq3r"]
|
||||||
animations = [{
|
animations = [{
|
||||||
"frames": [{
|
"frames": [{
|
||||||
|
@ -86,6 +272,20 @@ animations = [{
|
||||||
}, {
|
}, {
|
||||||
"frames": [{
|
"frames": [{
|
||||||
"duration": 1.0,
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_3na4e")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_qr8vt")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_je6ot")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"phase2",
|
||||||
|
"speed": 8.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
"texture": SubResource("AtlasTexture_3gxc7")
|
"texture": SubResource("AtlasTexture_3gxc7")
|
||||||
}, {
|
}, {
|
||||||
"duration": 1.0,
|
"duration": 1.0,
|
||||||
|
@ -127,24 +327,160 @@ animations = [{
|
||||||
"loop": true,
|
"loop": true,
|
||||||
"name": &"spawn",
|
"name": &"spawn",
|
||||||
"speed": 10.0
|
"speed": 10.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_245vq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fgjgx")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_kwgyu")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_6oqrq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_qu0ua")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ubij7")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_mw8sx")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_cji0l")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_q8cuq")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_u3ffa")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_n6002")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_32xbc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_j8nr7")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_8dsgi")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_1c333")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_c717t")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_1nfc7")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_yt8qr")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_6duvy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fjg4l")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fnyj1")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_5fn52")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_gqcuu")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_i1exv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_cw1hp")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_tqo1k")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_vrbo7")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_hqwqu")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_v8aoy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_attdy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_e4m2t")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_5pjvo")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_cpt0s")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_62qta")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_7wplc")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_bohy5")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_xohpi")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_ugpk6")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_hrxvy")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_wdoqv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_8eyh6")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_uqrkk")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_24sc5")
|
||||||
|
}],
|
||||||
|
"loop": false,
|
||||||
|
"name": &"transform",
|
||||||
|
"speed": 10.0
|
||||||
}]
|
}]
|
||||||
|
|
||||||
[node name="Tar" type="Node2D"]
|
[node name="Tar" type="RigidBody2D"]
|
||||||
position = Vector2(386, 292)
|
position = Vector2(386, 292)
|
||||||
|
gravity_scale = 1.66533e-16
|
||||||
|
freeze = true
|
||||||
|
max_contacts_reported = 5
|
||||||
|
contact_monitor = true
|
||||||
|
linear_damp = 2.0
|
||||||
script = ExtResource("1_7s3by")
|
script = ExtResource("1_7s3by")
|
||||||
|
|
||||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||||
z_index = 1
|
z_index = 1
|
||||||
texture_filter = 1
|
texture_filter = 1
|
||||||
sprite_frames = SubResource("SpriteFrames_ufq3r")
|
sprite_frames = SubResource("SpriteFrames_ufq3r")
|
||||||
animation = &"spawn"
|
animation = &"phase2"
|
||||||
autoplay = "idle"
|
autoplay = "idle"
|
||||||
frame = 2
|
frame_progress = 0.931703
|
||||||
frame_progress = 0.819547
|
|
||||||
|
|
||||||
[node name="StaticBody2D" type="StaticBody2D" parent="."]
|
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
|
||||||
|
|
||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"]
|
|
||||||
scale = Vector2(0.5, 0.5)
|
scale = Vector2(0.5, 0.5)
|
||||||
polygon = PackedVector2Array(2, -89, 98, -20, 61, 95, -57, 94, -93, -19)
|
polygon = PackedVector2Array(2, -89, 98, -20, 61, 95, -57, 94, -93, -19)
|
||||||
|
|
||||||
|
@ -172,7 +508,8 @@ position = Vector2(-37, -45)
|
||||||
rotation = 4.08407
|
rotation = 4.08407
|
||||||
|
|
||||||
[node name="Timer" type="Timer" parent="."]
|
[node name="Timer" type="Timer" parent="."]
|
||||||
wait_time = 6.0
|
wait_time = 3.0
|
||||||
autostart = true
|
autostart = true
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="." to="." method="hit"]
|
||||||
[connection signal="timeout" from="Timer" to="." method="phase"]
|
[connection signal="timeout" from="Timer" to="." method="phase"]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue