summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-11-28 16:12:51 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-11-28 16:12:51 +0200
commit2d46aa29b8514a6bce39baeae6e85e89fb5e20f7 (patch)
tree28eebc633a7ecd938eda2a73c96d50650e311e74
parentb140b2107c23b9eb67afe29d3186f99ad67c0201 (diff)
Snap to horiz if above hook
-rw-r--r--player.gd10
-rw-r--r--room_test1.tscn4
2 files changed, 10 insertions, 4 deletions
diff --git a/player.gd b/player.gd
index 9b4eebc..738b5dd 100644
--- a/player.gd
+++ b/player.gd
@@ -124,8 +124,14 @@ func set_movement_hanging(target: Node2D, hang_dist: float):
hanging_t = 0
hanging_L = hang_dist
hanging_target = target
- var theta0_sign = sign(global_position.x - target.global_position.x)
- hanging_theta0 = deg_to_rad(theta0_sign * 30)
+
+ var hyp = target.global_position - global_position
+ # if player is above the hook, we need to snap to horizontal
+ if hyp.y > 0: hyp.y = 0
+
+ hanging_theta0 = atan2(-hyp.y, hyp.x) - PI/2
+ if hanging_theta0 < -PI: hanging_theta0 += 2*PI
+ print_debug("hyp: ", hyp, ", hanging_theta0: ", hanging_theta0)
hanging_line2D = Line2D.new()
hanging_line2D.width = 2
diff --git a/room_test1.tscn b/room_test1.tscn
index d47e98c..5502b78 100644
--- a/room_test1.tscn
+++ b/room_test1.tscn
@@ -68,14 +68,14 @@ scale = Vector2(1.5, 1.5)
scroll_scale = Vector2(1.3, 1)
[node name="TileMapLayer" type="TileMapLayer" parent="FgParallax"]
-tile_map_data = PackedByteArray("AAAFAPv/AQATAAAAAAAFAPz/AQATAAAAAAAFAP3/AQATAAAAAAAFAP7/AQATAAAAAAAFAP//AQATAAAAAAAFAAAAAQATAAAAAAAFAAEAAQATAAAAAAAFAAIAAQATAAEAAAAKAAoAAQAPAAEAAAAKAAkAAQAPAAEAAAAKAAgAAQAPAAEAAAAKAAcAAQAPAAEAAAAKAAYAAQAPAAEAAAAKAAUAAQAPAAEAAAAKAAQAAQAPAAEAAAAKAAMAAQAPAAAAAAAJAPv/AQATAAAAAAAJAPz/AQATAAAAAAAJAP3/AQATAAAAAAAJAP7/AQATAAAAAAAJAP//AQATAAAAAAAJAAAAAQAOAAAAAAA=")
+tile_map_data = PackedByteArray("AAAFAPv/AQATAAAAAAAFAPz/AQATAAAAAAAFAP3/AQATAAAAAAAFAP7/AQATAAAAAAAFAP//AQATAAAAAAAFAAAAAQATAAAAAAAFAAEAAQATAAAAAAAFAAIAAQATAAEAAAAKAAoAAQAPAAEAAAAKAAkAAQAPAAEAAAAKAAgAAQAPAAEAAAAKAAcAAQAPAAEAAAAKAAYAAQAPAAEAAAAKAAUAAQAPAAEAAAAKAAQAAQAPAAEAAAAKAAMAAQAPAAAAAAAQAPv/AQATAAAAAAAQAPz/AQAOAAAAAAAQAP3/AQATAAAAAAAQAP7/AQATAAAAAAAQAP//AQATAAAAAAAQAAAAAQAOAAAAAAAQAPr/AQATAAAAAAAQAPn/AQATAAAAAAAQAPj/AQATAAAAAAA=")
tile_set = ExtResource("7_qglt1")
[node name="Path2D" type="Path2D" parent="."]
curve = SubResource("Curve2D_m3rqw")
[node name="HookHanging" type="Sprite2D" parent="." groups=["hook_hanging"]]
-position = Vector2(226, -4)
+position = Vector2(226, 7)
texture = ExtResource("6_ubxha")
script = ExtResource("7_mrrx3")
hang_distance = 50.0