Created example scene (intro.tscn)

This commit is contained in:
ChaoticByte 2024-09-28 14:44:17 +02:00
parent 71eae88a33
commit 8d313bf2c2
No known key found for this signature in database
4 changed files with 36 additions and 5 deletions

View file

@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://core/dynamic_polygon.gd" id="1_ga37f"] [ext_resource type="Script" path="res://core/dynamic_polygon.gd" id="1_ga37f"]
[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_ucwen"] [sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_o46no"]
[node name="DynamicPolygon" type="CollisionPolygon2D"] [node name="DynamicPolygon" type="CollisionPolygon2D"]
script = ExtResource("1_ga37f") script = ExtResource("1_ga37f")
@ -11,4 +11,4 @@ script = ExtResource("1_ga37f")
[node name="LightOccluder2D" type="LightOccluder2D" parent="."] [node name="LightOccluder2D" type="LightOccluder2D" parent="."]
editor_description = "For particle collisions" editor_description = "For particle collisions"
occluder = SubResource("OccluderPolygon2D_ucwen") occluder = SubResource("OccluderPolygon2D_o46no")

View file

@ -7,11 +7,11 @@ class Entrypoint extends Object:
func _init( func _init(
scene_name_: String, scene_name_: String,
player_position_: Vector2, player_position_: Vector2,
reset_physics: bool reset_physics_: bool
) -> void: ) -> void:
self.scene_name = scene_name_ self.scene_name = scene_name_
self.player_position = player_position_ self.player_position = player_position_
self.reset_physics = reset_physics self.reset_physics = reset_physics_
const SCENES = { const SCENES = {
"intro": "uid://c6w7lrydi43ts" "intro": "uid://c6w7lrydi43ts"
@ -52,6 +52,8 @@ func load_entrypoint(ep_name: String) -> bool: # returns true on success
var e: Entrypoint = ENTRYPOINTS[ep_name] var e: Entrypoint = ENTRYPOINTS[ep_name]
if load_scene(e.scene_name): if load_scene(e.scene_name):
player.position = e.player_position player.position = e.player_position
if e.reset_physics:
player.reset_physics()
return true return true
else: else:
return false return false

5
levels/intro.gd Normal file
View file

@ -0,0 +1,5 @@
extends Node2D
func _on_area_2d_body_entered(body: Node2D) -> void:
if body == Levels.player:
Levels.load_entrypoint("intro_start")

View file

@ -1,3 +1,27 @@
[gd_scene format=3 uid="uid://c6w7lrydi43ts"] [gd_scene load_steps=3 format=3 uid="uid://c6w7lrydi43ts"]
[ext_resource type="PackedScene" uid="uid://cbynoofsjcl45" path="res://core/dynamic_polygon.tscn" id="1_cup10"]
[ext_resource type="Script" path="res://levels/intro.gd" id="1_pgj82"]
[node name="Intro" type="Node2D"] [node name="Intro" type="Node2D"]
script = ExtResource("1_pgj82")
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="DynamicPolygon" parent="StaticBody2D" instance=ExtResource("1_cup10")]
polygon = PackedVector2Array(64, 200, 64, 432, -176, 432, -176, 512, 960, 512, 960, 384, 648, 384, 648, 344, 704, 344, 704, 288, 616, 288, 616, 232, 408, 232, 408, 304, 544, 304, 544, 384, 544, 432, 408, 432, 408, 392, 488, 392, 488, 352, 360, 352, 360, 440, 256, 440, 256, 320, 192, 320, 192, 440, 128, 440, 128, 200)
[node name="DynamicPolygon2" parent="StaticBody2D" instance=ExtResource("1_cup10")]
polygon = PackedVector2Array(448, 64, 448, 88, 512, 88, 512, 128, 384, 128, 384, 152, 640, 152, 640, 128, 688, 128, 688, 64)
[node name="Area2D" type="Area2D" parent="."]
[node name="DynamicPolygon" parent="Area2D" instance=ExtResource("1_cup10")]
polygon = PackedVector2Array(128, 384, 192, 384, 192, 440, 128, 440)
color = Color(1, 0.1, 0, 1)
[node name="DynamicPolygon2" parent="Area2D" instance=ExtResource("1_cup10")]
polygon = PackedVector2Array(256, 384, 360, 384, 360, 440, 256, 440)
color = Color(1, 0.1, 0, 1)
[connection signal="body_entered" from="Area2D" to="." method="_on_area_2d_body_entered"]