summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/index.html2
-rw-r--r--docs/index.pckbin1936600 -> 1940832 bytes
-rw-r--r--docs/index.service.worker.js2
-rw-r--r--esc_listener.gd7
-rw-r--r--esc_listener.gd.uid1
-rw-r--r--level_main_menu.gd15
-rw-r--r--level_main_menu.gd.uid1
-rw-r--r--level_main_menu.tscn22
-rw-r--r--level_test.gd10
-rw-r--r--level_test.gd.uid1
-rw-r--r--level_test.tscn18
-rw-r--r--player.gd3
-rw-r--r--project.godot5
-rw-r--r--root.gd4
-rw-r--r--root.tscn4
-rw-r--r--touch_screen_button.gd1
16 files changed, 88 insertions, 8 deletions
diff --git a/docs/index.html b/docs/index.html
index d25cecc..6edb85b 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -112,7 +112,7 @@ body {
<script src="index.js"></script>
<script>
-const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":false,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":1936600,"index.wasm":38034280},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"};
+const GODOT_CONFIG = {"args":[],"canvasResizePolicy":2,"emscriptenPoolSize":8,"ensureCrossOriginIsolationHeaders":false,"executable":"index","experimentalVK":false,"fileSizes":{"index.pck":1940832,"index.wasm":38034280},"focusCanvas":true,"gdextensionLibs":[],"godotPoolSize":4,"serviceWorker":"index.service.worker.js"};
const GODOT_THREADS_ENABLED = false;
const engine = new Engine(GODOT_CONFIG);
diff --git a/docs/index.pck b/docs/index.pck
index 6919087..d2833c5 100644
--- a/docs/index.pck
+++ b/docs/index.pck
Binary files differ
diff --git a/docs/index.service.worker.js b/docs/index.service.worker.js
index fdc4ac4..ae553fa 100644
--- a/docs/index.service.worker.js
+++ b/docs/index.service.worker.js
@@ -4,7 +4,7 @@
// Incrementing CACHE_VERSION will kick off the install event and force
// previously cached resources to be updated from the network.
/** @type {string} */
-const CACHE_VERSION = '1763112303|1319006501';
+const CACHE_VERSION = '1763114252|3268724986';
/** @type {string} */
const CACHE_PREFIX = 'MobileMetroidvan-sw-cache-';
const CACHE_NAME = CACHE_PREFIX + CACHE_VERSION;
diff --git a/esc_listener.gd b/esc_listener.gd
new file mode 100644
index 0000000..38583a1
--- /dev/null
+++ b/esc_listener.gd
@@ -0,0 +1,7 @@
+extends Node
+
+@onready var root: Root = get_tree().root.get_child(0)
+
+func _process(_delta: float) -> void:
+ if Input.is_action_just_pressed("menu"):
+ root.change_level("main_menu")
diff --git a/esc_listener.gd.uid b/esc_listener.gd.uid
new file mode 100644
index 0000000..d34f269
--- /dev/null
+++ b/esc_listener.gd.uid
@@ -0,0 +1 @@
+uid://rjab5emlyx6
diff --git a/level_main_menu.gd b/level_main_menu.gd
new file mode 100644
index 0000000..2ee46bd
--- /dev/null
+++ b/level_main_menu.gd
@@ -0,0 +1,15 @@
+class_name LevelMainMenu
+extends Node2D
+
+@onready var root: Root = get_tree().root.get_child(0)
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ $TestLevelButton.pressed.connect(_test_level_button_pressed)
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(_delta: float) -> void:
+ pass
+
+func _test_level_button_pressed():
+ root.change_level("test")
diff --git a/level_main_menu.gd.uid b/level_main_menu.gd.uid
new file mode 100644
index 0000000..81d2b8f
--- /dev/null
+++ b/level_main_menu.gd.uid
@@ -0,0 +1 @@
+uid://dufnvsfxreqq8
diff --git a/level_main_menu.tscn b/level_main_menu.tscn
index c4310e1..1cefb23 100644
--- a/level_main_menu.tscn
+++ b/level_main_menu.tscn
@@ -1,3 +1,23 @@
-[gd_scene format=3 uid="uid://cjdhfl70fgt6m"]
+[gd_scene load_steps=2 format=3 uid="uid://cjdhfl70fgt6m"]
+
+[ext_resource type="Script" uid="uid://dufnvsfxreqq8" path="res://level_main_menu.gd" id="1_rbk04"]
[node name="MainMenu" type="Node2D"]
+script = ExtResource("1_rbk04")
+
+[node name="Camera2D" type="Camera2D" parent="."]
+position = Vector2(96, 54)
+
+[node name="TestLevelButton" type="Button" parent="."]
+offset_left = 55.0
+offset_top = 47.0
+offset_right = 136.0
+offset_bottom = 78.0
+text = "Test level"
+
+[node name="Label" type="Label" parent="."]
+offset_left = 53.0
+offset_top = 15.0
+offset_right = 141.0
+offset_bottom = 38.0
+text = "Main menu"
diff --git a/level_test.gd b/level_test.gd
new file mode 100644
index 0000000..f14aff7
--- /dev/null
+++ b/level_test.gd
@@ -0,0 +1,10 @@
+class_name LevelTest
+extends Node2D
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ pass # Replace with function body.
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(_delta: float) -> void:
+ pass
diff --git a/level_test.gd.uid b/level_test.gd.uid
new file mode 100644
index 0000000..3c4c6f0
--- /dev/null
+++ b/level_test.gd.uid
@@ -0,0 +1 @@
+uid://b3xwng3dkn5s7
diff --git a/level_test.tscn b/level_test.tscn
index 71f4e0f..63b3541 100644
--- a/level_test.tscn
+++ b/level_test.tscn
@@ -1,11 +1,14 @@
-[gd_scene load_steps=9 format=4 uid="uid://cfj21o6wsd3hv"]
+[gd_scene load_steps=13 format=4 uid="uid://cfj21o6wsd3hv"]
[ext_resource type="Texture2D" uid="uid://o0yy2jkyp0dy" path="res://assets/kenney_1-bit-platformer-pack/Tilemap/monochrome_tilemap_transparent_packed.png" id="1_56xti"]
+[ext_resource type="Script" uid="uid://b3xwng3dkn5s7" path="res://level_test.gd" id="1_mge0y"]
[ext_resource type="PackedScene" uid="uid://coxnsharboouu" path="res://player.tscn" id="2_mge0y"]
[ext_resource type="PackedScene" uid="uid://dwl0fylftkrn7" path="res://touch_screen_button.tscn" id="3_hpvma"]
[ext_resource type="Texture2D" uid="uid://dxwflmdxikfiu" path="res://assets/kenney_1-bit-input-prompts-pixel-16/Tiles (Black)/tile_0758.png" id="4_k6i1l"]
[ext_resource type="Texture2D" uid="uid://bhpl1ew34plow" path="res://assets/kenney_1-bit-input-prompts-pixel-16/Tiles (Black)/tile_0760.png" id="5_lmggl"]
[ext_resource type="Texture2D" uid="uid://m46a5qu4rgui" path="res://assets/kenney_1-bit-input-prompts-pixel-16/Tiles (Black)/tile_0757.png" id="6_25u55"]
+[ext_resource type="Script" uid="uid://rjab5emlyx6" path="res://esc_listener.gd" id="8_hpvma"]
+[ext_resource type="Texture2D" uid="uid://dsetjcrrlp7gu" path="res://assets/kenney_1-bit-input-prompts-pixel-16/Tiles (Black)/tile_0769.png" id="8_k6i1l"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_0e48y"]
texture = ExtResource("1_56xti")
@@ -437,7 +440,11 @@ texture = ExtResource("1_56xti")
physics_layer_0/collision_layer = 1
sources/1 = SubResource("TileSetAtlasSource_0e48y")
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_k6i1l"]
+size = Vector2(40, 26)
+
[node name="LevelTest" type="Node2D"]
+script = ExtResource("1_mge0y")
[node name="TileMapLayer" type="TileMapLayer" parent="."]
tile_map_data = PackedByteArray("AAACAAYAAQAIAAQAAAADAAYAAQAIAAQAAAAEAAYAAQAIAAQAAAAFAAYAAQAIAAQAAAAGAAYAAQAIAAQAAAAHAAYAAQAIAAQAAAAIAAYAAQAIAAQAAAACAAcAAQAIAAUAAAACAAgAAQAIAAUAAAADAAgAAQAIAAUAAAAEAAgAAQAIAAUAAAAEAAkAAQAIAAUAAAAFAAkAAQAIAAUAAAAGAAkAAQAIAAUAAAAHAAkAAQAIAAUAAAAHAAgAAQAIAAUAAAAIAAgAAQAIAAUAAAAIAAcAAQAIAAUAAAAHAAcAAQAIAAUAAAAGAAcAAQAIAAUAAAAFAAcAAQAIAAUAAAAEAAcAAQAIAAUAAAADAAcAAQAIAAUAAAAFAAgAAQAIAAUAAAAGAAgAAQAIAAUAAAAJAAUAAQAHAAUAAAAJAAQAAQAHAAQAAAAKAAQAAQAIAAQAAAALAAQAAQAJAAQAAAALAAUAAQAJAAUAAAALAAYAAQAJAAUAAAALAAcAAQAJAAUAAAAMAAgAAQAIAAQAAAANAAgAAQAIAAQAAAALAAgAAQAIAAUAAAAKAAgAAQAIAAUAAAAKAAcAAQAIAAUAAAAKAAYAAQAIAAUAAAAKAAUAAQAIAAUAAAAJAAYAAQAIAAUAAAAJAAcAAQAIAAUAAAAJAAgAAQAIAAUAAAAJAAkAAQAIAAUAAAAIAAkAAQAIAAUAAAAKAAkAAQAIAAUAAAALAAkAAQAIAAUAAAAMAAkAAQAIAAUAAAAMAAcAAQASAAEAAAABAAUAAQAJAAUAAAABAAQAAQAJAAUAAAABAAMAAQAJAAUAAAABAAIAAQAJAAUAAAAAAAIAAQAIAAUAAAAAAAMAAQAIAAUAAAAAAAQAAQAIAAUAAAAAAAUAAQAIAAUAAAAAAAYAAQAIAAUAAAAAAAcAAQAIAAUAAAABAAYAAQAIAAUAAAABAAcAAQAIAAUAAAABAAgAAQAIAAUAAAABAAkAAQAIAAUAAAAAAAkAAQAIAAUAAAAAAAgAAQAIAAUAAAACAAkAAQAIAAUAAAADAAkAAQAIAAUAAAAOAAYAAQALAAMAAAAOAAgAAQAIAAQAAAAPAAkAAQAIAAUAAAAKAAMAAQAOAAEAAAAKAAIAAQAOAAAAAAAHAAUAAQASAAAAAAAEAAEAAQALAAMAAAAEAAIAAQATAAAAAAAEAAMAAQATAAEAAAAPAAgAAQAIAAQAAAAQAAcAAQAHAAUAAAAQAAYAAQAHAAUAAAAQAAUAAQAHAAUAAAAQAAQAAQAHAAUAAAAQAAMAAQAHAAUAAAAQAAIAAQAHAAUAAAAQAAEAAQAHAAUAAAAQAAAAAQAHAAUAAAANAAkAAQAIAAUAAAAOAAkAAQAIAAUAAAAQAAkAAQAIAAUAAAAQAAgAAQAIAAUAAAARAAkAAQAIAAUAAAARAAgAAQAIAAUAAAARAAcAAQAIAAUAAAARAAYAAQAIAAUAAAARAAUAAQAIAAUAAAARAAQAAQAIAAUAAAARAAMAAQAIAAUAAAARAAIAAQAIAAUAAAARAAEAAQAIAAUAAAARAAAAAQAIAAUAAAASAAAAAQAIAAUAAAASAAEAAQAIAAUAAAASAAIAAQAIAAUAAAASAAMAAQAIAAUAAAASAAQAAQAIAAUAAAASAAUAAQAIAAUAAAASAAYAAQAIAAUAAAASAAcAAQAIAAUAAAASAAgAAQAIAAUAAAASAAkAAQAIAAUAAAASAAoAAQAIAAUAAAASAAsAAQAIAAUAAAARAAsAAQAIAAUAAAARAAoAAQAIAAUAAAAQAAoAAQAIAAUAAAAPAAoAAQAIAAUAAAAOAAoAAQAIAAUAAAANAAoAAQAIAAUAAAAMAAoAAQAIAAUAAAALAAoAAQAIAAUAAAAKAAoAAQAIAAUAAAAJAAoAAQAIAAUAAAAIAAoAAQAIAAUAAAAHAAoAAQAIAAUAAAAGAAoAAQAIAAUAAAAFAAoAAQAIAAUAAAAEAAoAAQAIAAUAAAADAAoAAQAIAAUAAAACAAoAAQAIAAUAAAABAAoAAQAIAAUAAAAAAAoAAQAIAAUAAAAAAAsAAQAIAAUAAAABAAsAAQAIAAUAAAACAAsAAQAIAAUAAAADAAsAAQAIAAUAAAAEAAsAAQAIAAUAAAAFAAsAAQAIAAUAAAAGAAsAAQAIAAUAAAAHAAsAAQAIAAUAAAAIAAsAAQAIAAUAAAAJAAsAAQAIAAUAAAAKAAsAAQAIAAUAAAALAAsAAQAIAAUAAAAMAAsAAQAIAAUAAAANAAsAAQAIAAUAAAAOAAsAAQAIAAUAAAAPAAsAAQAIAAUAAAAQAAsAAQAIAAUAAAAAAAEAAQAIAAUAAAAAAAAAAQAIAAUAAAAAAP//AQAIAAUAAAAAAP7/AQAIAAUAAAD///7/AQAIAAUAAAD/////AQAIAAUAAAD//wAAAQAIAAUAAAD//wEAAQAIAAUAAAD//wIAAQAIAAUAAAD//wMAAQAIAAUAAAD//wQAAQAIAAUAAAD//wUAAQAIAAUAAAD//wYAAQAIAAUAAAD//wcAAQAIAAUAAAD//wgAAQAIAAUAAAD+/wgAAQAIAAUAAAD+/wcAAQAIAAUAAAD+/wYAAQAIAAUAAAD+/wUAAQAIAAUAAAD+/wQAAQAIAAUAAAD+/wMAAQAIAAUAAAD+/wIAAQAIAAUAAAD+/wEAAQAIAAUAAAD+/wAAAQAIAAUAAAD+////AQAIAAUAAAD+/wkAAQAIAAUAAAD//wkAAQAIAAUAAAD//woAAQAIAAUAAAD//wsAAQAIAAUAAAD+/wsAAQAIAAUAAAD+/woAAQAIAAUAAAABAAEAAQAJAAUAAAABAAAAAQAJAAUAAAABAP//AQAJAAUAAAABAP7/AQAJAAUAAAABAP3/AQAJAAUAAAAQAP//AQAHAAUAAAAQAP7/AQAHAAUAAAAQAP3/AQAHAAUAAAARAP//AQAIAAUAAAAPAAcAAQASAAEAAAA=")
@@ -467,3 +474,12 @@ texture = ExtResource("5_lmggl")
position = Vector2(76, 34)
action = "jump"
texture = ExtResource("6_25u55")
+
+[node name="TouchScreenButtonMenu" parent="Player/Camera2D" instance=ExtResource("3_hpvma")]
+position = Vector2(76, -41)
+shape = SubResource("RectangleShape2D_k6i1l")
+action = "menu"
+texture = ExtResource("8_k6i1l")
+
+[node name="EscListener" type="Node" parent="."]
+script = ExtResource("8_hpvma")
diff --git a/player.gd b/player.gd
index defd9d8..f2127ac 100644
--- a/player.gd
+++ b/player.gd
@@ -1,3 +1,4 @@
+class_name Player
extends CharacterBody2D
@export var speed: float
@@ -37,7 +38,7 @@ func _physics_process(delta: float):
coyote += 1
var can_jump = coyote < coyote_max
- if Input.is_action_just_pressed("jump") and can_jump:
+ if Input.is_action_pressed("jump") and can_jump:
velocity.y = -jump_strength
# Force coyote time to expire to forbid double jumps
coyote = coyote_max
diff --git a/project.godot b/project.godot
index 6b58b76..9298e06 100644
--- a/project.godot
+++ b/project.godot
@@ -46,6 +46,11 @@ jump={
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
+menu={
+"deadzone": 0.2,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+]
+}
[rendering]
diff --git a/root.gd b/root.gd
index db49ff8..dcb753d 100644
--- a/root.gd
+++ b/root.gd
@@ -1,3 +1,4 @@
+class_name Root
extends Node2D
@export var initial_level: PackedScene
@@ -11,7 +12,8 @@ func _ready() -> void:
func _process(_delta: float) -> void:
pass
-func change_level(level: PackedScene):
+func change_level(level_name: String):
+ var level = ResourceLoader.load("res://level_" + level_name + ".tscn")
var current_level = get_child(0)
remove_child(current_level)
diff --git a/root.tscn b/root.tscn
index 6844838..c1ea63d 100644
--- a/root.tscn
+++ b/root.tscn
@@ -1,8 +1,8 @@
[gd_scene load_steps=3 format=3 uid="uid://cey3jxnpmommt"]
-[ext_resource type="PackedScene" uid="uid://cfj21o6wsd3hv" path="res://level_test.tscn" id="1_pq8q7"]
[ext_resource type="Script" uid="uid://dxbspy72bg0db" path="res://root.gd" id="1_pyidc"]
+[ext_resource type="PackedScene" uid="uid://cjdhfl70fgt6m" path="res://level_main_menu.tscn" id="2_pyidc"]
[node name="Root" type="Node2D"]
script = ExtResource("1_pyidc")
-initial_level = ExtResource("1_pq8q7")
+initial_level = ExtResource("2_pyidc")
diff --git a/touch_screen_button.gd b/touch_screen_button.gd
index a03376d..c7ff973 100644
--- a/touch_screen_button.gd
+++ b/touch_screen_button.gd
@@ -1,3 +1,4 @@
+class_name CustomTouchScreenButton
extends TouchScreenButton
@export var texture: Texture2D