Compare commits
2 commits
5cf87d8bb7
...
1895b3b10b
Author | SHA1 | Date | |
---|---|---|---|
1895b3b10b | |||
330ed25153 |
4 changed files with 33 additions and 6 deletions
|
@ -24,19 +24,19 @@ texture = ExtResource("1_h5jcm")
|
|||
[node name="TileMap" type="TileMapLayer" parent="."]
|
||||
z_index = -100
|
||||
use_parent_material = true
|
||||
tile_map_data = PackedByteArray("AAAAAAsAAAAAAAAAAAABAAsAAAAAAAAAAAACAAsAAAAAAAAAAAAHAAsAAAAAAAAAAAAIAAsAAAAAAAAAAAAJAAsAAAAAAAAAAAAKAAsAAAAAAAAAAAALAAsAAAAAAAAAAAANAAsAAAAAAAAAAAAOAAsAAAAAAAAAAAAPAAsAAAAAAAAAAAAQAAsAAAAAAAAAAAARAAsAAAAAAAAAAAADAAsAAAAAAAAAAAAEAAsAAAAAAAAAAAAFAAsAAAAAAAAAAAAGAAsAAAAAAAAAAAAMAAsAAAAAAAAAAAAFAAoAAAAAAAAAAAAGAAoAAAAAAAAAAAAGAAkAAAAAAAAAAAAHAAkAAAAAAAAAAAAIAAkAAAAAAAAAAAAJAAkAAAAAAAAAAAAKAAkAAAAAAAAAAAALAAkAAAAAAAAAAAAMAAkAAAAAAAAAAAALAAoAAAAAAAAAAAAKAAoAAAAAAAAAAAAJAAoAAAAAAAAAAAAIAAoAAAAAAAAAAAAHAAoAAAAAAAAAAAAMAAoAAAAAAAAAAAANAAoAAAAAAAAAAAAOAAoAAAAAAAAAAAAPAAoAAAAAAAAAAAAPAAkAAAAAAAAAAAAQAAkAAAAAAAAAAAAQAAgAAAAAAAAAAAAQAAcAAAAAAAAAAAAQAAYAAAAAAAAAAAARAAcAAAAAAAAAAAAQAAoAAAAAAAAAAAARAAkAAAAAAAAAAAARAAgAAAAAAAAAAAARAAoAAAAAAAAAAAARAAYAAAAAAAAAAAARAAUAAAAAAAAAAAARAAQAAAAAAAAAAAAQAAQAAAAAAAAAAAAQAAUAAAAAAAAAAAAFAAkAAAAAAAAAAAAEAAkAAAAAAAAAAAADAAkAAAAAAAAAAAACAAkAAAAAAAAAAAABAAkAAAAAAAAAAAABAAoAAAAAAAAAAAACAAoAAAAAAAAAAAADAAoAAAAAAAAAAAAEAAoAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAkAAAAAAAAAAAABAAgAAAAAAAAAAAABAAcAAAAAAAAAAAABAAYAAAAAAAAAAAABAAUAAAAAAAAAAAABAAQAAAAAAAAAAAABAAMAAAAAAAAAAAABAAIAAAAAAAAAAAAKAAgAAAAAAAAAAAAKAAcAAAAAAAAAAAALAAcAAAAAAAAAAAALAAgAAAAAAAAAAAANAAkAAAAAAAAAAAAOAAkAAAAAAAAAAAA=")
|
||||
tile_map_data = PackedByteArray("AAAAAAsAAAAAAAAAAAABAAsAAAAAAAAAAAACAAsAAAAAAAAAAAAHAAsAAAAAAAAAAAAIAAsAAAAAAAAAAAAJAAsAAAAAAAAAAAAKAAsAAAAAAAAAAAALAAsAAAAAAAAAAAANAAsAAAAAAAAAAAAOAAsAAAAAAAAAAAAPAAsAAAAAAAAAAAAQAAsAAAAAAAAAAAARAAsAAAAAAAAAAAADAAsAAAAAAAAAAAAEAAsAAAAAAAAAAAAFAAsAAAAAAAAAAAAGAAsAAAAAAAAAAAAMAAsAAAAAAAAAAAAFAAoAAAAAAAAAAAAGAAoAAAAAAAAAAAAGAAkAAAAAAAAAAAAHAAkAAAAAAAAAAAAIAAkAAAAAAAAAAAAJAAkAAAAAAAAAAAAKAAkAAAAAAAAAAAALAAkAAAAAAAAAAAAMAAkAAAAAAAAAAAALAAoAAAAAAAAAAAAKAAoAAAAAAAAAAAAJAAoAAAAAAAAAAAAIAAoAAAAAAAAAAAAHAAoAAAAAAAAAAAAMAAoAAAAAAAAAAAANAAoAAAAAAAAAAAAOAAoAAAAAAAAAAAAPAAoAAAAAAAAAAAAPAAkAAAAAAAAAAAAQAAkAAAAAAAAAAAAQAAoAAAAAAAAAAAARAAkAAAAAAAAAAAARAAoAAAAAAAAAAAAFAAkAAAAAAAAAAAAEAAkAAAAAAAAAAAADAAkAAAAAAAAAAAACAAkAAAAAAAAAAAABAAkAAAAAAAAAAAABAAoAAAAAAAAAAAACAAoAAAAAAAAAAAADAAoAAAAAAAAAAAAEAAoAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAkAAAAAAAAAAAABAAgAAAAAAAAAAAABAAcAAAAAAAAAAAABAAYAAAAAAAAAAAABAAUAAAAAAAAAAAABAAQAAAAAAAAAAAABAAMAAAAAAAAAAAABAAIAAAAAAAAAAAANAAkAAAAAAAAAAAAOAAkAAAAAAAAAAAA=")
|
||||
tile_set = ExtResource("2_dj7w1")
|
||||
|
||||
[node name="Lashy" parent="." instance=ExtResource("4_gykx6")]
|
||||
position = Vector2(32, 144)
|
||||
position = Vector2(144, 112)
|
||||
launch_power = 300.0
|
||||
idle_radius = 6.0
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("5_5v7mr")]
|
||||
position = Vector2(120, 144)
|
||||
position = Vector2(96, 136)
|
||||
|
||||
[node name="Spring" parent="." instance=ExtResource("6_tlqas")]
|
||||
position = Vector2(72, 144)
|
||||
position = Vector2(32, 72)
|
||||
|
||||
[node name="RotoBoy" parent="." instance=ExtResource("7_j1102")]
|
||||
position = Vector2(240, 40)
|
||||
|
|
|
@ -10,7 +10,9 @@ extends CharacterBody2D
|
|||
|
||||
@export_group("Air Movement")
|
||||
@export var gravity: float
|
||||
@export var fast_gravity: float
|
||||
@export var jump_power: float
|
||||
@export var jump_horizontal_boost: float
|
||||
@export var splat_launch_power: float
|
||||
@export var splat_offset: float
|
||||
@export var chomp_vault_impulse: Vector2
|
||||
|
@ -56,6 +58,10 @@ func _physics_process(delta: float) -> void:
|
|||
func _unhandled_input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed(&"jump"):
|
||||
state_chart.send_event(&"jump_pressed")
|
||||
if event.is_action_pressed(&"grab"):
|
||||
state_chart.send_event(&"grab_pressed")
|
||||
if event.is_action_released(&"grab"):
|
||||
state_chart.send_event(&"grab_released")
|
||||
|
||||
|
||||
func kill() -> void:
|
||||
|
@ -90,6 +96,9 @@ func _apply_turn_acceleration(delta: float) -> void:
|
|||
|
||||
#region Falling
|
||||
func _apply_gravity(delta: float) -> void:
|
||||
if input_dir.y > 0.0:
|
||||
velocity.y += fast_gravity * delta
|
||||
else:
|
||||
velocity.y += gravity * delta
|
||||
#endregion
|
||||
|
||||
|
@ -97,6 +106,7 @@ func _apply_gravity(delta: float) -> void:
|
|||
#region Jumping
|
||||
func _start_jump() -> void:
|
||||
velocity.y = -jump_power
|
||||
velocity.x += input_dir.x * jump_horizontal_boost
|
||||
#endregion
|
||||
|
||||
|
||||
|
@ -135,9 +145,11 @@ func _face_towards_velocity(_delta: float) -> void:
|
|||
func _check_for_splat(delta: float) -> void:
|
||||
var col = move_and_collide(_last_velocity * delta, true)
|
||||
if col:
|
||||
_splat_normal = col.get_normal()
|
||||
if _splat_normal.dot(Vector2.UP) > 0.5:
|
||||
return
|
||||
velocity = Vector2.ZERO
|
||||
global_position += col.get_travel()
|
||||
_splat_normal = col.get_normal()
|
||||
var angle = col.get_normal().angle()
|
||||
if graphics.scale.x > 0.0:
|
||||
angle += PI
|
||||
|
|
|
@ -118,7 +118,9 @@ max_run_speed = 100.0
|
|||
turn_acceleration = 300.0
|
||||
stopping_force = 250.0
|
||||
gravity = 450.0
|
||||
fast_gravity = 675.0
|
||||
jump_power = 180.0
|
||||
jump_horizontal_boost = 25.0
|
||||
splat_launch_power = 240.0
|
||||
splat_offset = 6.0
|
||||
chomp_vault_impulse = Vector2(60, -60)
|
||||
|
@ -438,6 +440,13 @@ to = NodePath("..")
|
|||
event = &"jump_pressed"
|
||||
delay_in_seconds = "0.0"
|
||||
|
||||
[node name="on GrabPressed" type="Node" parent="StateChart/Root/Floating/Splat"]
|
||||
editor_description = "Detach from wall early if \"grab\" is pressed."
|
||||
script = ExtResource("7_rgjdc")
|
||||
to = NodePath("../../../Airborne/Falling")
|
||||
event = &"grab_pressed"
|
||||
delay_in_seconds = "0.0"
|
||||
|
||||
[node name="on TimeOut" type="Node" parent="StateChart/Root/Floating/Splat"]
|
||||
script = ExtResource("7_rgjdc")
|
||||
to = NodePath("../../UnSplat")
|
||||
|
@ -482,5 +491,6 @@ delay_in_seconds = "0.25"
|
|||
[connection signal="taken" from="StateChart/Root/Floating/ChompVault/on AnimationFinished" to="." method="_end_chomp_vault"]
|
||||
[connection signal="state_entered" from="StateChart/Root/Floating/Splat" to="Graphics/Sprite/Splat" method="play"]
|
||||
[connection signal="taken" from="StateChart/Root/Floating/Splat/on JumpPressed" to="." method="_do_splat_launch"]
|
||||
[connection signal="taken" from="StateChart/Root/Floating/Splat/on GrabPressed" to="." method="_restore_graphics_rotation"]
|
||||
[connection signal="state_entered" from="StateChart/Root/Floating/UnSplat" to="Graphics/Sprite/UnSplat" method="play"]
|
||||
[connection signal="state_exited" from="StateChart/Root/Floating/UnSplat" to="." method="_restore_graphics_rotation"]
|
||||
|
|
|
@ -73,6 +73,11 @@ jump={
|
|||
"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":90,"key_label":0,"unicode":122,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
grab={
|
||||
"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":88,"key_label":0,"unicode":120,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[layer_names]
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue