forked from team-sg/hero-mark-2
scrump sounds and more work on stg2600
This commit is contained in:
parent
ba12787fcb
commit
8b831ea616
38 changed files with 804 additions and 153 deletions
51
objects/enemy/boss/2600.gd
Normal file
51
objects/enemy/boss/2600.gd
Normal file
|
@ -0,0 +1,51 @@
|
|||
extends "res://objects/enemy/enemy.gd"
|
||||
|
||||
signal entered_phase(phase)
|
||||
|
||||
export var shot_speed = 50
|
||||
export var fire_rate: float = 1
|
||||
export var can_shoot = false
|
||||
|
||||
var hp = 3
|
||||
|
||||
onready var Bullet = preload("res://objects/enemy/2600_bullet.tscn")
|
||||
onready var positions = $Positions
|
||||
onready var shoot_timer = $ShootTimer
|
||||
onready var anims = $AnimationPlayer
|
||||
onready var head_sprite = $Body/Head
|
||||
|
||||
#func _ready():
|
||||
# for node in get_tree().get_nodes_in_group("collapse_block"):
|
||||
# if node.has_method("_on_collapse"):
|
||||
# connect("collapse", node, "_on_collapse")
|
||||
|
||||
func _on_ShootTimer_timeout():
|
||||
if can_shoot:
|
||||
Audio.play_sound(Audio.a_bullet_barrage,Audio.ac_boss)
|
||||
for pos in positions.get_children():
|
||||
var bullet = Bullet.instance()
|
||||
bullet.global_position = pos.global_position
|
||||
bullet.direction = Vector2.LEFT.rotated(pos.rotation)
|
||||
bullet.speed = shot_speed
|
||||
get_parent().add_child(bullet)
|
||||
shoot_timer.wait_time = fire_rate
|
||||
|
||||
func _play_laser_sound():
|
||||
Audio.play_sound(Audio.a_rainbow_laser,Audio.ac_boss)
|
||||
|
||||
func die():
|
||||
hp -= 1
|
||||
anims.play("Beam")
|
||||
match hp:
|
||||
2:
|
||||
Game.instance_node(load("res://objects/enemy/boss/collapse_blocks.tscn"),0,0,get_parent())
|
||||
emit_signal("entered_phase", 2)
|
||||
head_sprite.texture = load("res://graphics/enemy/boss/stg2600_head_cracked.png")
|
||||
1:
|
||||
shot_speed = 70
|
||||
fire_rate = 0.8
|
||||
emit_signal("entered_phase", 3)
|
||||
head_sprite.texture = load("res://graphics/enemy/boss/stg2600_head_broken.png")
|
||||
0:
|
||||
queue_free()
|
||||
emit_signal("entered_phase", 4)
|
229
objects/enemy/boss/2600.tscn
Normal file
229
objects/enemy/boss/2600.tscn
Normal file
|
@ -0,0 +1,229 @@
|
|||
[gd_scene load_steps=13 format=2]
|
||||
|
||||
[ext_resource path="res://objects/enemy/boss/2600.gd" type="Script" id=1]
|
||||
[ext_resource path="res://graphics/enemy/boss/stg2600_head.png" type="Texture" id=2]
|
||||
[ext_resource path="res://graphics/enemy/boss/stg2600_leg.png" type="Texture" id=3]
|
||||
[ext_resource path="res://graphics/enemy/boss/stg2600_beam.png" type="Texture" id=4]
|
||||
[ext_resource path="res://graphics/npc/intelli_idle.png" type="Texture" id=5]
|
||||
|
||||
[sub_resource type="CanvasItemMaterial" id=7]
|
||||
blend_mode = 1
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=6]
|
||||
extents = Vector2( 7.97672, 8 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 28.5, 16 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 44, 16 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=3]
|
||||
extents = Vector2( 38, 13 )
|
||||
|
||||
[sub_resource type="Animation" id=4]
|
||||
resource_name = "Beam"
|
||||
length = 8.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Body/Head/Beam:modulate")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.1, 0.201388, 0.3, 0.4, 0.5, 0.6, 0.701388, 0.8, 0.9, 1, 1.1, 1.20139, 1.3, 1.4, 1.5, 1.6, 1.70139, 1.8, 1.9, 2, 2.1, 2.20139, 2.3, 2.4, 2.5, 2.59861, 2.69861, 2.79861, 2.89861, 3, 3.09861, 3.19861, 3.29861, 3.39861, 3.5, 3.59861, 3.69861, 3.79861, 3.89861, 4, 4.09861, 4.19861, 4.3, 4.39861, 4.49861, 4.59861, 4.69861, 4.8, 4.89861, 4.99861, 5.09861, 5.19861, 5.3, 5.39861, 5.49861, 5.59861, 5.69861, 5.8, 5.89861, 5.99861 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ), Color( 1, 0.423529, 0.4, 1 ), Color( 1, 0.894118, 0.4, 1 ), Color( 0.4, 1, 0.443137, 1 ), Color( 0.4, 0.52549, 1, 1 ), Color( 0.992157, 0.4, 1, 1 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Body/Head/Beam:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0, 1.5, 5.5 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ false, true, true ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("Body/Head:rotation_degrees")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0, 1.5, 1.6, 5.5, 5.6, 5.9 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ 0.0, 15.0, 15.0, -15.0, -15.0, 0.0 ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("Body/Head/Beam:scale")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0, 1.5, 1.6 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 13.4376, 1 ), Vector2( 0, 1 ), Vector2( 14, 1 ) ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("Body/Head/Beam:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0, 5.5, 5.6, 5.9 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( -70, -8 ), Vector2( -70, -8 ), Vector2( -500, -8 ), Vector2( -500, -8 ) ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath(".:can_shoot")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/keys = {
|
||||
"times": PoolRealArray( 0, 5.9 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ false, true ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("AnimationPlayer:current_animation")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/keys = {
|
||||
"times": PoolRealArray( 7.9 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 2,
|
||||
"values": [ "RESET" ]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/path = NodePath("Body/Head/Beam/Hitbox/CollisionShape2D:disabled")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/keys = {
|
||||
"times": PoolRealArray( 0, 1.5 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ true, false ]
|
||||
}
|
||||
tracks/8/type = "method"
|
||||
tracks/8/path = NodePath(".")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/keys = {
|
||||
"times": PoolRealArray( 1.6 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"values": [ {
|
||||
"args": [ ],
|
||||
"method": "_play_laser_sound"
|
||||
} ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=5]
|
||||
length = 0.001
|
||||
|
||||
[node name="2600" type="Node2D"]
|
||||
position = Vector2( 0, -16 )
|
||||
script = ExtResource( 1 )
|
||||
can_shoot = true
|
||||
|
||||
[node name="Intelli" type="Sprite" parent="."]
|
||||
position = Vector2( 32, 41 )
|
||||
rotation = 3.14159
|
||||
scale = Vector2( 1, -1 )
|
||||
texture = ExtResource( 5 )
|
||||
region_enabled = true
|
||||
region_rect = Rect2( 0, 0, 20, 14 )
|
||||
|
||||
[node name="Body" type="Node2D" parent="."]
|
||||
position = Vector2( 1, 0 )
|
||||
|
||||
[node name="LegR" type="Sprite" parent="Body"]
|
||||
position = Vector2( 44, 112 )
|
||||
texture = ExtResource( 3 )
|
||||
|
||||
[node name="Head" type="Sprite" parent="Body"]
|
||||
position = Vector2( 73, 72 )
|
||||
texture = ExtResource( 2 )
|
||||
offset = Vector2( -23, -24 )
|
||||
|
||||
[node name="Beam" type="Sprite" parent="Body/Head"]
|
||||
visible = false
|
||||
modulate = Color( 1, 0.423529, 0.4, 1 )
|
||||
material = SubResource( 7 )
|
||||
position = Vector2( -70, -8 )
|
||||
scale = Vector2( 13.4376, 1 )
|
||||
texture = ExtResource( 4 )
|
||||
offset = Vector2( -8, 0 )
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="Body/Head/Beam" groups=["blocks arrow", "enemy_hitbox"]]
|
||||
position = Vector2( -8.03715, 0 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Body/Head/Beam/Hitbox"]
|
||||
position = Vector2( 0.0139904, 0 )
|
||||
shape = SubResource( 6 )
|
||||
disabled = true
|
||||
|
||||
[node name="LegL" type="Sprite" parent="Body"]
|
||||
position = Vector2( 67, 112 )
|
||||
texture = ExtResource( 3 )
|
||||
|
||||
[node name="Positions" type="Node2D" parent="."]
|
||||
position = Vector2( -153, -24 )
|
||||
|
||||
[node name="Position2D" type="Position2D" parent="Positions"]
|
||||
position = Vector2( 152, 80 )
|
||||
|
||||
[node name="Position2D2" type="Position2D" parent="Positions"]
|
||||
position = Vector2( 152, 88 )
|
||||
rotation = -0.436332
|
||||
|
||||
[node name="Position2D3" type="Position2D" parent="Positions"]
|
||||
position = Vector2( 152, 96 )
|
||||
rotation = -0.872665
|
||||
|
||||
[node name="ShootTimer" type="Timer" parent="."]
|
||||
autostart = true
|
||||
|
||||
[node name="WeakSpot" type="Area2D" parent="." groups=["boss_weakspot", "enemy_hitbox"]]
|
||||
position = Vector2( 1, 0 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="WeakSpot"]
|
||||
position = Vector2( 27.5, 32 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="." groups=["blocks_arrow", "enemy_hitbox"]]
|
||||
position = Vector2( 1, 0 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2( 43, 64 )
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2( 48, 155 )
|
||||
shape = SubResource( 3 )
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/Beam = SubResource( 4 )
|
||||
anims/RESET = SubResource( 5 )
|
||||
|
||||
[connection signal="area_entered" from="Body/Head/Beam/Hitbox" to="." method="_on_Hitbox_area_entered"]
|
||||
[connection signal="timeout" from="ShootTimer" to="." method="_on_ShootTimer_timeout"]
|
||||
[connection signal="area_entered" from="WeakSpot" to="." method="_on_WeakSpot_area_entered"]
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"]
|
46
objects/enemy/boss/collapse_blocks.tscn
Normal file
46
objects/enemy/boss/collapse_blocks.tscn
Normal file
|
@ -0,0 +1,46 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://objects/environment/collapse_block/collapse_block.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://audio/sounds/collapse_block_fall.wav" type="AudioStream" id=2]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=2]
|
||||
bounce = 0.07
|
||||
|
||||
[node name="CollapseBlocks" type="Node2D"]
|
||||
|
||||
[node name="CollapseBlock" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 16, 72 )
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="CollapseBlock2" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 24, 72 )
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="CollapseBlock3" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 32, 72 )
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="CollapseBlock4" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 72, 72 )
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="CollapseBlock5" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 64, 72 )
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="CollapseBlock9" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 56, 72 )
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="CollapseBlock7" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 64, 104 )
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="CollapseBlock8" parent="." instance=ExtResource( 1 )]
|
||||
position = Vector2( 72, 104 )
|
||||
physics_material_override = SubResource( 2 )
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 2 )
|
||||
volume_db = -8.0
|
||||
autoplay = true
|
|
@ -12,6 +12,7 @@ export var phase3_speed = 150
|
|||
onready var shoot_timer = $ShootTimer
|
||||
onready var shootpoint = $Position2D
|
||||
onready var blood_position = $BloodPosition
|
||||
onready var shoot_sound = $ShootSound
|
||||
onready var map = get_owner()
|
||||
const Projectile = preload("res://objects/enemy/boss/scrump_projectile.tscn")
|
||||
const Gore = preload("res://objects/enemy/boss/scrump_gore.tscn")
|
||||
|
@ -27,6 +28,9 @@ func _ready():
|
|||
phase3_speed *= Game.enemy_speed_factor
|
||||
|
||||
func shoot():
|
||||
var r = rand_range(0.8,1.2)
|
||||
shoot_sound.pitch_scale = r
|
||||
shoot_sound.play()
|
||||
Game.instance_node(Projectile,shootpoint.global_position.x,stepify(shootpoint.global_position.y,8),map)
|
||||
|
||||
func _on_ShootTimer_timeout():
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
[gd_scene load_steps=10 format=2]
|
||||
[gd_scene load_steps=11 format=2]
|
||||
|
||||
[ext_resource path="res://objects/enemy/boss/scrump.gd" type="Script" id=1]
|
||||
[ext_resource path="res://audio/sounds/gover.wav" type="AudioStream" id=2]
|
||||
[ext_resource path="res://audio/sounds/die.wav" type="AudioStream" id=3]
|
||||
[ext_resource path="res://graphics/enemy/boss/the_scrump.png" type="Texture" id=4]
|
||||
[ext_resource path="res://audio/sounds/scrump_shot.ogg" type="AudioStream" id=5]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 5.5, 9.5 )
|
||||
|
@ -95,7 +96,6 @@ autostart = true
|
|||
[node name="Sprite" type="AnimatedSprite" parent="."]
|
||||
position = Vector2( 26, 27 )
|
||||
frames = SubResource( 5 )
|
||||
frame = 1
|
||||
playing = true
|
||||
|
||||
[node name="BloodPosition" type="Position2D" parent="."]
|
||||
|
@ -107,6 +107,10 @@ stream = ExtResource( 3 )
|
|||
[node name="DeathSound" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 2 )
|
||||
|
||||
[node name="ShootSound" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 5 )
|
||||
volume_db = -8.0
|
||||
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"]
|
||||
[connection signal="timeout" from="ShootTimer" to="." method="_on_ShootTimer_timeout"]
|
||||
[connection signal="timeout" from="ArrowSpawnTimer" to="." method="_on_ArrowSpawnTimer_timeout"]
|
||||
|
|
14
objects/environment/collapse_block/collapse_block.gd
Normal file
14
objects/environment/collapse_block/collapse_block.gd
Normal file
|
@ -0,0 +1,14 @@
|
|||
extends RigidBody2D
|
||||
|
||||
onready var start_position = Vector2(position.x,position.y)
|
||||
onready var sound = $AudioStreamPlayer
|
||||
|
||||
func _ready():
|
||||
for node in get_tree().get_nodes_in_group("delete_on_collapse"):
|
||||
node.queue_free()
|
||||
|
||||
func _on_AnimationPlayer_animation_finished(anim_name):
|
||||
queue_free()
|
||||
|
||||
func _on_Timer_timeout():
|
||||
$AnimationPlayer.play("die")
|
57
objects/environment/collapse_block/collapse_block.tscn
Normal file
57
objects/environment/collapse_block/collapse_block.tscn
Normal file
|
@ -0,0 +1,57 @@
|
|||
[gd_scene load_steps=7 format=2]
|
||||
|
||||
[ext_resource path="res://tilesets/t_factory.tres" type="TileSet" id=1]
|
||||
[ext_resource path="res://objects/environment/collapse_block/collapse_block.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id=2]
|
||||
bounce = 0.07
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 4, 4 )
|
||||
|
||||
[sub_resource type="Animation" id=3]
|
||||
length = 0.001
|
||||
|
||||
[sub_resource type="Animation" id=4]
|
||||
resource_name = "die"
|
||||
length = 1.5
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("TileMap:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.2, 0.4, 0.6, 0.8, 1, 1.2, 1.4 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ true, false, true, false, true, false, true, false ]
|
||||
}
|
||||
|
||||
[node name="CollapseBlock" type="RigidBody2D" groups=["collapse_block"]]
|
||||
physics_material_override = SubResource( 2 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
tile_set = ExtResource( 1 )
|
||||
collision_layer = 0
|
||||
collision_mask = 0
|
||||
format = 1
|
||||
tile_data = PoolIntArray( 0, 0, 0 )
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2( 4, 4 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
anims/RESET = SubResource( 3 )
|
||||
anims/die = SubResource( 4 )
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 3.0
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_CollapseBlock_body_entered"]
|
||||
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_AnimationPlayer_animation_finished"]
|
||||
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
|
Loading…
Add table
Add a link
Reference in a new issue