godot/demos/2d/space_shooter/ship.tscn

230 lines
6.0 KiB
Plaintext

[gd_scene load_steps=12 format=1]
[ext_resource path="res://rail.gd" type="Script" id=1]
[ext_resource path="res://ship.gd" type="Script" id=2]
[ext_resource path="res://ship.png" type="Texture" id=3]
[ext_resource path="res://fire.png" type="Texture" id=4]
[ext_resource path="res://explosion.tscn" type="PackedScene" id=5]
[ext_resource path="res://sound_shoot.wav" type="Sample" id=6]
[ext_resource path="res://sound_explode.wav" type="Sample" id=7]
[sub_resource type="ConvexPolygonShape2D" id=1]
custom_solver_bias = 0.0
points = Vector2Array( 25.9104, 1.3603, -20.5637, 14.8656, -20.5637, -15.3227 )
[sub_resource type="ColorRamp" id=2]
offsets = FloatArray( 0, 0.474062, 0.653631, 1 )
colors = ColorArray( 0.154794, 0.413313, 0.991004, 1, 0.555474, 0.971578, 0, 1, 0.82934, 0.989088, 0.616085, 0.383915, 1, 1, 1, 0 )
[sub_resource type="Animation" id=3]
length = 1.0
loop = false
step = 0.1
tracks/0/type = "value"
tracks/0/path = NodePath("sprite:visibility/visible")
tracks/0/interp = 1
tracks/0/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] }
tracks/1/type = "value"
tracks/1/path = NodePath("thruster:config/emitting")
tracks/1/interp = 1
tracks/1/keys = { "cont":false, "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "values":[ false ] }
tracks/2/type = "value"
tracks/2/path = NodePath("explosion:config/emitting")
tracks/2/interp = 1
tracks/2/keys = { "cont":false, "times":FloatArray( 0, 0.1 ), "transitions":FloatArray( 1, 1 ), "values":[ true, false ] }
[sub_resource type="SampleLibrary" id=4]
samples/shoot = { "db":0.0, "pitch":1.0, "sample":ExtResource( 6 ) }
samples/sound_explode = { "db":0.0, "pitch":1.0, "sample":ExtResource( 7 ) }
[node name="rail" type="Node2D"]
script/script = ExtResource( 1 )
[node name="ship" type="Area2D" parent="."]
transform/pos = Vector2( 253.607, 282.275 )
input/pickable = true
shapes/0/shape = SubResource( 1 )
shapes/0/transform = Matrix32( 1, 0, 0, 1, 0, 0 )
shapes/0/trigger = false
gravity_vec = Vector2( 0, 1 )
gravity = 98.0
linear_damp = 0.1
angular_damp = 1.0
script/script = ExtResource( 2 )
[node name="sprite" type="Sprite" parent="ship"]
texture = ExtResource( 3 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="ship"]
build_mode = 0
polygon = Vector2Array( -20.5637, -15.3227, 25.9104, 1.3603, -20.5637, 14.8656 )
shape_range = Vector2( -1, -1 )
trigger = false
[node name="thruster" type="Particles2D" parent="ship"]
visibility/blend_mode = 1
transform/pos = Vector2( -26.528, -0.358481 )
transform/rot = -91.1436
config/amount = 32
config/lifetime = 2.0
config/time_scale = 5.0
config/emitting = false
config/local_space = false
config/texture = ExtResource( 4 )
params/direction = 0.0
params/spread = 10.0
params/linear_velocity = 20.0
params/spin_velocity = 0.0
params/orbit_velocity = 0.0
params/gravity_direction = 0.0
params/gravity_strength = 0.0
params/radial_accel = 0.0
params/tangential_accel = 0.0
params/damping = 0.0
params/initial_angle = 0.0
params/initial_size = 1.0
params/final_size = 1.0
params/hue_variation = 0.0
params/anim_speed_scale = 1.0
params/anim_initial_pos = 0.0
color/color_ramp = SubResource( 2 )
[node name="anim" type="AnimationPlayer" parent="ship"]
playback/process_mode = 1
playback/default_blend_time = 0.0
root/root = NodePath("..")
anims/explode = SubResource( 3 )
playback/active = true
playback/speed = 1.0
blend_times = [ ]
autoplay = ""
[node name="shootfrom" type="Position2D" parent="ship"]
transform/pos = Vector2( 35.3307, 0.875969 )
[node name="explosion" parent="ship" instance=ExtResource( 5 )]
transform/rot = -91.1436
config/explosiveness = 0.1
params/gravity_strength = 9.8
[node name="sfx" type="SamplePlayer" parent="ship"]
config/polyphony = 1
config/samples = SubResource( 4 )
default/volume_db = 0.0
default/pitch_scale = 1.0
default/pan = 0.0
default/depth = 0.0
default/height = 0.0
default/filter/type = 0
default/filter/cutoff = 0.0
default/filter/resonance = 0.0
default/filter/gain = 0.0
default/reverb_room = 2
default/reverb_send = 0.0
default/chorus_send = 0.0
[node name="camera" type="Camera2D" parent="."]
anchor_mode = 0
rotating = false
current = true
zoom = Vector2( 1, 1 )
limit/left = -10000000
limit/top = -10000000
limit/right = 10000000
limit/bottom = 10000000
drag_margin/h_enabled = true
drag_margin/v_enabled = true
smoothing/enable = false
smoothing/speed = 5.0
drag_margin/left = 0.2
drag_margin/top = 0.2
drag_margin/right = 0.2
drag_margin/bottom = 0.2
[node name="hud" type="CanvasLayer" parent="."]
layer = 1
offset = Vector2( 0, 0 )
rotation = 0.0
scale = Vector2( 1, 1 )
[node name="score" type="Label" parent="hud"]
focus/ignore_mouse = true
focus/stop_mouse = true
size_flags/horizontal = 2
margin/left = 15.0
margin/top = 13.0
margin/right = 66.0
margin/bottom = 26.0
text = "SCORE:"
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
[node name="score_points" type="Label" parent="hud"]
focus/ignore_mouse = true
focus/stop_mouse = true
size_flags/horizontal = 2
margin/left = 70.0
margin/top = 13.0
margin/right = 121.0
margin/bottom = 26.0
text = "0"
align = 1
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
[node name="back_to_menu" type="Button" parent="hud"]
focus/ignore_mouse = false
focus/stop_mouse = true
size_flags/horizontal = 2
size_flags/vertical = 2
margin/left = 911.0
margin/top = 10.0
margin/right = 1006.0
margin/bottom = 31.0
toggle_mode = false
text = "Back to Menu"
flat = false
[node name="game_over" type="Label" parent="hud"]
visibility/visible = false
focus/ignore_mouse = true
focus/stop_mouse = true
size_flags/horizontal = 2
margin/left = 482.0
margin/top = 286.0
margin/right = 564.0
margin/bottom = 299.0
text = "GAME_OVER"
percent_visible = 1.0
lines_skipped = 0
max_lines_visible = -1
[connection signal="body_enter" from="ship" to="ship" method="_on_ship_body_enter"]
[connection signal="area_enter" from="ship" to="ship" method="_on_ship_area_enter"]
[connection signal="pressed" from="hud/back_to_menu" to="ship" method="_on_back_to_menu_pressed"]