From 74bf75b6e88e646e7a5c230509e053d86910c000 Mon Sep 17 00:00:00 2001 From: pennyrigate Date: Fri, 13 Jan 2023 02:46:22 -0500 Subject: [PATCH] added ladder auto dismount --- maps/cave.tscn | 2 +- maps/level_select.tscn | 2 +- maps/test_room.tscn | 51 ++++++++++++++++++++++++++++++++++++++++ objects/player/player.gd | 11 +++++---- project.godot | 5 ++++ scripts/debug.gd | 5 +++- 6 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 maps/test_room.tscn diff --git a/maps/cave.tscn b/maps/cave.tscn index c76d0cc..5ddf98b 100644 --- a/maps/cave.tscn +++ b/maps/cave.tscn @@ -34,7 +34,7 @@ tile_set = ExtResource( 2 ) cell_size = Vector2( 8, 8 ) collision_layer = 9 format = 1 -tile_data = PoolIntArray( 655360, 0, 65537, 655361, 0, 65537, 655362, 0, 65537, 655363, 0, 65537, 655364, 0, 65537, 655365, 0, 65537, 655366, 0, 65537, 655367, 0, 65537, 655368, 0, 65537, 655369, 0, 65537, 851983, 0, 65537, 851984, 0, 65537, 851985, 0, 65537, 851986, 0, 65537, 851987, 0, 65537, 851988, 0, 65537, 983040, 0, 65537, 983041, 0, 65537, 983042, 0, 65537, 983045, 0, 65537, 983046, 0, 65537, 983047, 0, 65537, 983048, 0, 65537, 983049, 0, 65537, 983050, 0, 65537, 983051, 0, 65537, 1048591, 0, 65537, 1048592, 0, 65537, 1048593, 0, 65537, 1048594, 0, 65537, 1048595, 0, 65537, 1048596, 0, 65537, 1179648, 0, 65537, 1179649, 0, 65537, 1179650, 0, 65537, 1179651, 0, 65537, 1179652, 0, 65537, 1179658, 0, 65537, 1179659, 0, 65537, 1245200, 0, 65537, 1245201, 0, 65537, 1245202, 0, 65537, 1245203, 0, 65537, 1245205, 0, 65537, 1245206, 0, 65537, 1245207, 0, 65537, 1376268, 0, 262144, 1376274, 0, 262144, 1376284, 0, 262144, 1441792, 0, 0, 1441793, 0, 0, 1441794, 0, 0, 1441795, 0, 0, 1441796, 0, 0, 1441797, 0, 0, 1441798, 0, 0, 1441799, 0, 0, 1441800, 0, 0, 1441801, 0, 0, 1441802, 0, 0, 1441803, 0, 0, 1441804, 0, 0, 1441805, 0, 0, 1441806, 0, 0, 1441807, 0, 0, 1441808, 0, 0, 1441809, 0, 0, 1441810, 0, 0, 1441811, 0, 0, 1441812, 0, 0, 1441813, 0, 0, 1441814, 0, 0, 1441815, 0, 0, 1441816, 0, 0, 1441817, 0, 0, 1441818, 0, 0, 1441819, 0, 0, 1441820, 0, 0, 1441821, 0, 0, 1441822, 0, 0, 1441823, 0, 0, 1441824, 0, 0, 1441825, 0, 0, 1441826, 0, 0, 1441827, 0, 0, 1441828, 0, 0, 1441829, 0, 0, 1441830, 0, 0, 1441831, 0, 0, 1441832, 0, 0, 1441833, 0, 0, 1441834, 0, 0, 1441835, 0, 0, 1441836, 0, 0, 1441837, 0, 0, 1441838, 0, 0, 1441839, 0, 0, 1441840, 0, 0, 1441841, 0, 0, 1441842, 0, 0, 1441843, 0, 0, 1441844, 0, 0, 1441845, 0, 0, 1441846, 0, 0, 1441847, 0, 0, 1507328, 0, 0, 1507329, 0, 0, 1507330, 0, 0, 1507331, 0, 0, 1507332, 0, 0, 1507333, 0, 0, 1507334, 0, 0, 1507335, 0, 0, 1507336, 0, 0, 1507337, 0, 0, 1507338, 0, 0, 1507339, 0, 0, 1507340, 0, 0, 1507341, 0, 0, 1507342, 0, 0, 1507343, 0, 0, 1507344, 0, 0, 1507345, 0, 0, 1507346, 0, 0, 1507347, 0, 0, 1507348, 0, 0, 1507349, 0, 0, 1507350, 0, 0, 1507351, 0, 0, 1507352, 0, 0, 1507353, 0, 0, 1507354, 0, 0, 1507355, 0, 0, 1507356, 0, 0, 1507357, 0, 0, 1507358, 0, 0, 1507359, 0, 0, 1507360, 0, 0, 1507361, 0, 0, 1507362, 0, 0, 1507363, 0, 0, 1507364, 0, 0, 1507365, 0, 0, 1507366, 0, 0, 1507367, 0, 0, 1507368, 0, 0, 1507369, 0, 0, 1507370, 0, 0, 1507371, 0, 0, 1507372, 0, 0, 1507373, 0, 0, 1507374, 0, 0, 1507375, 0, 0, 1507376, 0, 0, 1507377, 0, 0, 1507378, 0, 0, 1507379, 0, 0, 1507380, 0, 0, 1507381, 0, 0, 1507382, 0, 0, 1507383, 0, 0 ) +tile_data = PoolIntArray( 720896, 0, 65537, 720897, 0, 65537, 720898, 0, 65537, 720899, 0, 65537, 720900, 0, 65537, 720901, 0, 65537, 720902, 0, 65537, 720903, 0, 65537, 720904, 0, 65537, 720905, 0, 65537, 851983, 0, 65537, 851984, 0, 65537, 851985, 0, 65537, 851986, 0, 65537, 851987, 0, 65537, 851988, 0, 65537, 983040, 0, 65537, 983041, 0, 65537, 983042, 0, 65537, 983045, 0, 65537, 983046, 0, 65537, 983047, 0, 65537, 983048, 0, 65537, 983049, 0, 65537, 983050, 0, 65537, 983051, 0, 65537, 1048591, 0, 65537, 1048592, 0, 65537, 1048593, 0, 65537, 1048594, 0, 65537, 1048595, 0, 65537, 1048596, 0, 65537, 1048597, 0, 65537, 1048598, 0, 65537, 1048599, 0, 65537, 1048600, 0, 65537, 1048601, 0, 65537, 1048602, 0, 65537, 1179648, 0, 65537, 1179649, 0, 65537, 1179650, 0, 65537, 1179651, 0, 65537, 1179652, 0, 65537, 1179658, 0, 65537, 1179659, 0, 65537, 1245200, 0, 65537, 1245201, 0, 65537, 1245202, 0, 65537, 1245203, 0, 65537, 1245205, 0, 65537, 1245206, 0, 65537, 1245207, 0, 65537, 1376268, 0, 262144, 1376274, 0, 262144, 1376284, 0, 262144, 1441792, 0, 0, 1441793, 0, 0, 1441794, 0, 0, 1441795, 0, 0, 1441796, 0, 0, 1441797, 0, 0, 1441798, 0, 0, 1441799, 0, 0, 1441800, 0, 0, 1441801, 0, 0, 1441802, 0, 0, 1441803, 0, 0, 1441804, 0, 0, 1441805, 0, 0, 1441806, 0, 0, 1441807, 0, 0, 1441808, 0, 0, 1441809, 0, 0, 1441810, 0, 0, 1441811, 0, 0, 1441812, 0, 0, 1441813, 0, 0, 1441814, 0, 0, 1441815, 0, 0, 1441816, 0, 0, 1441817, 0, 0, 1441818, 0, 0, 1441819, 0, 0, 1441820, 0, 0, 1441821, 0, 0, 1441822, 0, 0, 1441823, 0, 0, 1441824, 0, 0, 1441825, 0, 0, 1441826, 0, 0, 1441827, 0, 0, 1441828, 0, 0, 1441829, 0, 0, 1441830, 0, 0, 1441831, 0, 0, 1441832, 0, 0, 1441833, 0, 0, 1441834, 0, 0, 1441835, 0, 0, 1441836, 0, 0, 1441837, 0, 0, 1441838, 0, 0, 1441839, 0, 0, 1441840, 0, 0, 1441841, 0, 0, 1441842, 0, 0, 1441843, 0, 0, 1441844, 0, 0, 1441845, 0, 0, 1441846, 0, 0, 1441847, 0, 0, 1507328, 0, 0, 1507329, 0, 0, 1507330, 0, 0, 1507331, 0, 0, 1507332, 0, 0, 1507333, 0, 0, 1507334, 0, 0, 1507335, 0, 0, 1507336, 0, 0, 1507337, 0, 0, 1507338, 0, 0, 1507339, 0, 0, 1507340, 0, 0, 1507341, 0, 0, 1507342, 0, 0, 1507343, 0, 0, 1507344, 0, 0, 1507345, 0, 0, 1507346, 0, 0, 1507347, 0, 0, 1507348, 0, 0, 1507349, 0, 0, 1507350, 0, 0, 1507351, 0, 0, 1507352, 0, 0, 1507353, 0, 0, 1507354, 0, 0, 1507355, 0, 0, 1507356, 0, 0, 1507357, 0, 0, 1507358, 0, 0, 1507359, 0, 0, 1507360, 0, 0, 1507361, 0, 0, 1507362, 0, 0, 1507363, 0, 0, 1507364, 0, 0, 1507365, 0, 0, 1507366, 0, 0, 1507367, 0, 0, 1507368, 0, 0, 1507369, 0, 0, 1507370, 0, 0, 1507371, 0, 0, 1507372, 0, 0, 1507373, 0, 0, 1507374, 0, 0, 1507375, 0, 0, 1507376, 0, 0, 1507377, 0, 0, 1507378, 0, 0, 1507379, 0, 0, 1507380, 0, 0, 1507381, 0, 0, 1507382, 0, 0, 1507383, 0, 0 ) [node name="Player" parent="." instance=ExtResource( 1 )] position = Vector2( 32, 166 ) diff --git a/maps/level_select.tscn b/maps/level_select.tscn index fef868f..f0b1433 100644 --- a/maps/level_select.tscn +++ b/maps/level_select.tscn @@ -38,7 +38,7 @@ shader = ExtResource( 3 ) shader_param/border_color = Color( 0, 0, 0, 1 ) shader_param/border_corners = false -[node name="LevelSelect" type="Node2D"] +[node name="LevelSelect" type="Node2D" groups=["map"]] script = ExtResource( 7 ) [node name="BackGround" type="ColorRect" parent="."] diff --git a/maps/test_room.tscn b/maps/test_room.tscn new file mode 100644 index 0000000..0b00356 --- /dev/null +++ b/maps/test_room.tscn @@ -0,0 +1,51 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://objects/player/player.tscn" type="PackedScene" id=1] +[ext_resource path="res://tilesets/t_cave.tres" type="TileSet" id=2] +[ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=4] +[ext_resource path="res://tilesets/t_death.tres" type="TileSet" id=5] +[ext_resource path="res://objects/Camera2D.tscn" type="PackedScene" id=6] +[ext_resource path="res://graphics/backgrounds/cave.png" type="Texture" id=8] +[ext_resource path="res://objects/ladder/ladder.tscn" type="PackedScene" id=9] +[ext_resource path="res://maps/map.gd" type="Script" id=11] +[ext_resource path="res://audio/music/smokestack.mp3" type="AudioStream" id=12] + +[node name="Map" type="Node2D" groups=["map"]] +script = ExtResource( 11 ) +save_location = 420 +music = ExtResource( 12 ) + +[node name="Camera2D" parent="." instance=ExtResource( 6 )] + +[node name="Sprite" type="Sprite" parent="Camera2D"] +position = Vector2( 128, 96 ) +z_index = -2 +texture = ExtResource( 8 ) + +[node name="CanvasLayer" parent="." instance=ExtResource( 4 )] + +[node name="Ground" type="TileMap" parent="."] +tile_set = ExtResource( 2 ) +cell_size = Vector2( 8, 8 ) +collision_layer = 9 +format = 1 +tile_data = PoolIntArray( 1376268, 0, 262144, 1376274, 0, 262144, 1376284, 0, 262144, 1441792, 0, 0, 1441793, 0, 0, 1441794, 0, 0, 1441795, 0, 0, 1441796, 0, 0, 1441797, 0, 0, 1441798, 0, 0, 1441799, 0, 0, 1441800, 0, 0, 1441801, 0, 0, 1441802, 0, 0, 1441803, 0, 0, 1441804, 0, 0, 1441805, 0, 0, 1441806, 0, 0, 1441807, 0, 0, 1441808, 0, 0, 1441809, 0, 0, 1441810, 0, 0, 1441811, 0, 0, 1441812, 0, 0, 1441813, 0, 0, 1441814, 0, 0, 1441815, 0, 0, 1441816, 0, 0, 1441817, 0, 0, 1441818, 0, 0, 1441819, 0, 0, 1441820, 0, 0, 1441821, 0, 0, 1441822, 0, 0, 1441823, 0, 0, 1507328, 0, 0, 1507329, 0, 0, 1507330, 0, 0, 1507331, 0, 0, 1507332, 0, 0, 1507333, 0, 0, 1507334, 0, 0, 1507335, 0, 0, 1507336, 0, 0, 1507337, 0, 0, 1507338, 0, 0, 1507339, 0, 0, 1507340, 0, 0, 1507341, 0, 0, 1507342, 0, 0, 1507343, 0, 0, 1507344, 0, 0, 1507345, 0, 0, 1507346, 0, 0, 1507347, 0, 0, 1507348, 0, 0, 1507349, 0, 0, 1507350, 0, 0, 1507351, 0, 0, 1507352, 0, 0, 1507353, 0, 0, 1507354, 0, 0, 1507355, 0, 0, 1507356, 0, 0, 1507357, 0, 0, 1507358, 0, 0, 1507359, 0, 0 ) + +[node name="Player" parent="." instance=ExtResource( 1 )] +position = Vector2( 32, 166 ) + +[node name="Ladder2" parent="." instance=ExtResource( 9 )] +position = Vector2( 64, 128 ) +scale = Vector2( 1, 3 ) + +[node name="Ladder" type="TileMap" parent="."] +tile_set = ExtResource( 2 ) +cell_size = Vector2( 8, 8 ) +collision_layer = 9 +format = 1 +tile_data = PoolIntArray( 1048584, 0, 196608, 1114120, 0, 196608, 1179656, 0, 196608, 1376268, 0, 262144, 1376274, 0, 262144, 1376284, 0, 262144, 1441792, 0, 0, 1441793, 0, 0, 1441794, 0, 0, 1441795, 0, 0, 1441796, 0, 0, 1441797, 0, 0, 1441798, 0, 0, 1441799, 0, 0, 1441800, 0, 0, 1441801, 0, 0, 1441802, 0, 0, 1441803, 0, 0, 1441804, 0, 0, 1441805, 0, 0, 1441806, 0, 0, 1441807, 0, 0, 1441808, 0, 0, 1441809, 0, 0, 1441810, 0, 0, 1441811, 0, 0, 1441812, 0, 0, 1441813, 0, 0, 1441814, 0, 0, 1441815, 0, 0, 1441816, 0, 0, 1441817, 0, 0, 1441818, 0, 0, 1441819, 0, 0, 1441820, 0, 0, 1441821, 0, 0, 1441822, 0, 0, 1441823, 0, 0, 1507328, 0, 0, 1507329, 0, 0, 1507330, 0, 0, 1507331, 0, 0, 1507332, 0, 0, 1507333, 0, 0, 1507334, 0, 0, 1507335, 0, 0, 1507336, 0, 0, 1507337, 0, 0, 1507338, 0, 0, 1507339, 0, 0, 1507340, 0, 0, 1507341, 0, 0, 1507342, 0, 0, 1507343, 0, 0, 1507344, 0, 0, 1507345, 0, 0, 1507346, 0, 0, 1507347, 0, 0, 1507348, 0, 0, 1507349, 0, 0, 1507350, 0, 0, 1507351, 0, 0, 1507352, 0, 0, 1507353, 0, 0, 1507354, 0, 0, 1507355, 0, 0, 1507356, 0, 0, 1507357, 0, 0, 1507358, 0, 0, 1507359, 0, 0 ) + +[node name="Death" type="TileMap" parent="."] +tile_set = ExtResource( 5 ) +cell_size = Vector2( 8, 8 ) +format = 1 diff --git a/objects/player/player.gd b/objects/player/player.gd index 9ce6b23..e15484b 100644 --- a/objects/player/player.gd +++ b/objects/player/player.gd @@ -149,13 +149,16 @@ func _process_climb(): if axis.y == 0: Game.ac_climb.set_stream(null) #Manual Jump,, only works when holding neutral or away from ladder if axis.x != sprite.scale.x: check_jump() - #Auto Jump if climb_ray.get_collider() == null: - velocity.y = -jump_force - Game.ac_climb.set_stream(null) - Game.play_sound(Game.a_jump,Game.ac_jump) + if axis.y == -1: + #Auto Jump + velocity.y = -jump_force + Game.ac_climb.set_stream(null) + Game.play_sound(Game.a_jump,Game.ac_jump) + #Auto dismount current_state = State.FALL return + func _process_sword(): anims.play("stab") diff --git a/project.godot b/project.godot index c622437..a85053e 100644 --- a/project.godot +++ b/project.godot @@ -118,6 +118,11 @@ debug_show={ "events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":72,"physical_scancode":0,"unicode":0,"echo":false,"script":null) ] } +debug_testroom={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":89,"physical_scancode":0,"unicode":0,"echo":false,"script":null) + ] +} [layer_names] diff --git a/scripts/debug.gd b/scripts/debug.gd index 8da65c3..6e02930 100644 --- a/scripts/debug.gd +++ b/scripts/debug.gd @@ -46,12 +46,15 @@ func _physics_process(delta): if Input.is_action_pressed("debug_move_player"): Game.get_map().get_node("Player").position = get_viewport().get_mouse_position() Debug.print(get_viewport().get_mouse_position()) + #Test room + if Input.is_action_just_pressed("debug_testroom"): + Game.change_map(load("res://maps/test_room.tscn")) #Debug 1 if Input.is_action_just_pressed("debug_1"): Game.change_map(load("res://maps/level_select.tscn")) #Debug 2 if Input.is_action_just_pressed("debug_2"): - Debug.print(Game.get_map()) + Engine.set_target_fps(1) func print(text): lines += 1