From 575545a41295fe1ef1e4580a337f61bf52e554c1 Mon Sep 17 00:00:00 2001 From: Robbert Stevens Date: Sun, 4 Oct 2020 21:02:49 +0200 Subject: [PATCH] final scene --- PassengerManager.gd | 16 ++++++++ PassengerManager.tscn | 6 +++ cloud/CloudSystem.gd | 2 +- passenger/Passenger.gd | 9 ++++- passenger/Passenger.tscn | 1 + player/MoveTrain.gd | 2 +- player/Player.tscn | 2 + world/World.tscn | 84 +++++++++++++++++++++------------------- 8 files changed, 79 insertions(+), 43 deletions(-) create mode 100644 PassengerManager.gd create mode 100644 PassengerManager.tscn diff --git a/PassengerManager.gd b/PassengerManager.gd new file mode 100644 index 0000000..a024b0f --- /dev/null +++ b/PassengerManager.gd @@ -0,0 +1,16 @@ +extends Node2D + +const PASSENGER_SCENE= preload("res://passenger/Passenger.tscn") + +var next_spawn_in = rand_range(10, 40) + + +func _process(delta): + next_spawn_in -= delta + + if next_spawn_in <= 0: + var passenger = PASSENGER_SCENE.instance() + find_parent("World").add_child(passenger) + passenger.position = get_global_transform().get_origin() + + next_spawn_in = rand_range(10, 40) diff --git a/PassengerManager.tscn b/PassengerManager.tscn new file mode 100644 index 0000000..af51a3b --- /dev/null +++ b/PassengerManager.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://PassengerManager.gd" type="Script" id=1] + +[node name="PassengerManager" type="Node2D"] +script = ExtResource( 1 ) diff --git a/cloud/CloudSystem.gd b/cloud/CloudSystem.gd index 5673033..85f1dca 100644 --- a/cloud/CloudSystem.gd +++ b/cloud/CloudSystem.gd @@ -10,7 +10,7 @@ func _ready(): func spawn_cloud(): var cloud_instance = cloud.instance(); - get_parent().add_child(cloud_instance) + get_parent().call_deferred('add_child', cloud_instance) var rand_y = rand_range(-300, 300) cloud_instance.position += Vector2(-400, rand_y) diff --git a/passenger/Passenger.gd b/passenger/Passenger.gd index 1cb28e1..eccf8cf 100644 --- a/passenger/Passenger.gd +++ b/passenger/Passenger.gd @@ -1,7 +1,14 @@ extends Node2D +const MAX_TIME_ALIVE = 9 + +var current_time_alive = 0 + func _ready(): $AnimationPlayer.play("idle") func _process(delta): - pass + current_time_alive += delta + + if current_time_alive > MAX_TIME_ALIVE: + queue_free() diff --git a/passenger/Passenger.tscn b/passenger/Passenger.tscn index dbad915..46487d8 100644 --- a/passenger/Passenger.tscn +++ b/passenger/Passenger.tscn @@ -37,6 +37,7 @@ anims/idle = SubResource( 1 ) [node name="Area2D" type="Area2D" parent="."] collision_layer = 16 +collision_mask = 0 [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] position = Vector2( -0.133991, 2.74677 ) diff --git a/player/MoveTrain.gd b/player/MoveTrain.gd index acdf294..8607d72 100644 --- a/player/MoveTrain.gd +++ b/player/MoveTrain.gd @@ -27,7 +27,7 @@ func _physics_process(delta): if Input.is_action_just_pressed("ui_load"): var colliders = $Player.get_node("PickupLayer").get_overlapping_areas() - + print(colliders.size()) for collider in colliders: if not collider.get_collision_layer() == 16: continue diff --git a/player/Player.tscn b/player/Player.tscn index d195221..d6127dc 100644 --- a/player/Player.tscn +++ b/player/Player.tscn @@ -39,6 +39,8 @@ script = ExtResource( 3 ) shape = SubResource( 1 ) [node name="PickupLayer" type="Area2D" parent="."] +collision_layer = 2 +collision_mask = 16 [node name="CollisionShape2D" type="CollisionShape2D" parent="PickupLayer"] shape = SubResource( 2 ) diff --git a/world/World.tscn b/world/World.tscn index ff492a3..a71fa93 100644 --- a/world/World.tscn +++ b/world/World.tscn @@ -7,19 +7,15 @@ [ext_resource path="res://world/track.png" type="Texture" id=5] [ext_resource path="res://player/gun/Gun.tscn" type="PackedScene" id=6] [ext_resource path="res://player/Player.tscn" type="PackedScene" id=7] -[ext_resource path="res://passenger/Passenger.tscn" type="PackedScene" id=8] +[ext_resource path="res://PassengerManager.tscn" type="PackedScene" id=8] [ext_resource path="res://cloud/CloudSystem.tscn" type="PackedScene" id=9] [ext_resource path="res://world/fort.tscn" type="PackedScene" id=10] [ext_resource path="res://world/fort.png" type="Texture" id=11] [ext_resource path="res://world/World.gd" type="Script" id=12] [ext_resource path="res://world/RestartManager.gd" type="Script" id=13] [ext_resource path="res://background-audio.tscn" type="PackedScene" id=14] - -[sub_resource type="ConvexPolygonShape2D" id=12] -points = PoolVector2Array( 10.6398, 9.24607, 3.23751, 9.24607, 3.23751, 4.80468, 10.6398, 4.80468 ) - -[sub_resource type="ConvexPolygonShape2D" id=13] -points = PoolVector2Array( 9.12745, 13.0145, 3.47476, 13.0145, 3.47476, 2.78585, 9.12745, 2.78585 ) +[ext_resource path="res://passenger/yeah.ogg" type="AudioStream" id=15] +[ext_resource path="res://passenger/Passenger.tscn" type="PackedScene" id=16] [sub_resource type="TileSet" id=14] 0/name = "desert.png 0" @@ -41,22 +37,9 @@ points = PoolVector2Array( 9.12745, 13.0145, 3.47476, 13.0145, 3.47476, 2.78585, 0/navigation_offset = Vector2( 0, 0 ) 0/shape_offset = Vector2( 0, 0 ) 0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape = SubResource( 12 ) 0/shape_one_way = false -0/shape_one_way_margin = 1.0 -0/shapes = [ { -"autotile_coord": Vector2( 3, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 12 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -}, { -"autotile_coord": Vector2( 1, 0 ), -"one_way": false, -"one_way_margin": 1.0, -"shape": SubResource( 13 ), -"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) -} ] +0/shape_one_way_margin = 0.0 +0/shapes = [ ] 0/z_index = 0 [sub_resource type="ConvexPolygonShape2D" id=11] @@ -162,24 +145,6 @@ position = Vector2( 419.582, 278.571 ) [node name="EnemySpawner4" parent="." instance=ExtResource( 4 )] position = Vector2( -299.217, 220.841 ) -[node name="Passenger" parent="." instance=ExtResource( 8 )] -position = Vector2( 9.62371, -74.3688 ) - -[node name="Passenger2" parent="." instance=ExtResource( 8 )] -position = Vector2( 9.62371, -74.3688 ) - -[node name="Passenger3" parent="." instance=ExtResource( 8 )] -position = Vector2( -48, -72 ) - -[node name="Passenger4" parent="." instance=ExtResource( 8 )] -position = Vector2( 0, -72 ) - -[node name="Passenger5" parent="." instance=ExtResource( 8 )] -position = Vector2( 0, -80 ) - -[node name="Passenger6" parent="." instance=ExtResource( 8 )] -position = Vector2( 24, -72 ) - [node name="CloudSystem" parent="." instance=ExtResource( 9 )] position = Vector2( -8.00772, -56 ) spawn_rate = 5.0 @@ -236,3 +201,42 @@ Press 'esc' to restart" __meta__ = { "_edit_use_anchors_": false } + +[node name="Passenger" parent="." instance=ExtResource( 16 )] +position = Vector2( 64, -72 ) + +[node name="PassengerManager" parent="." instance=ExtResource( 8 )] +position = Vector2( 56, -64 ) + +[node name="PassengerManager2" parent="." instance=ExtResource( 8 )] +position = Vector2( 208, -48 ) + +[node name="PassengerManager3" parent="." instance=ExtResource( 8 )] +position = Vector2( 224, 0 ) + +[node name="PassengerManager4" parent="." instance=ExtResource( 8 )] +position = Vector2( 208, 64 ) + +[node name="PassengerManager5" parent="." instance=ExtResource( 8 )] +position = Vector2( 144, 80 ) + +[node name="PassengerManager6" parent="." instance=ExtResource( 8 )] +position = Vector2( 144, 80 ) + +[node name="PassengerManager7" parent="." instance=ExtResource( 8 )] +position = Vector2( 32, 32 ) + +[node name="PassengerManager8" parent="." instance=ExtResource( 8 )] +position = Vector2( 48, 32 ) + +[node name="PassengerManager9" parent="." instance=ExtResource( 8 )] +position = Vector2( 0, 32 ) + +[node name="PassengerManager10" parent="." instance=ExtResource( 8 )] +position = Vector2( -64, 32 ) + +[node name="PassengerManager11" parent="." instance=ExtResource( 8 )] +position = Vector2( -144, -48 ) + +[node name="YeahPlayer" type="AudioStreamPlayer" parent="."] +stream = ExtResource( 15 )