Frog jumps only within radius
This commit is contained in:
parent
7a7c1638ba
commit
3689e9a43b
@ -199,7 +199,7 @@ tracks/1/loop_wrap = true
|
|||||||
tracks/1/imported = false
|
tracks/1/imported = false
|
||||||
tracks/1/enabled = true
|
tracks/1/enabled = true
|
||||||
tracks/1/keys = {
|
tracks/1/keys = {
|
||||||
"times": PoolRealArray( 0.6 ),
|
"times": PoolRealArray( 0.01 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ -10000000 ]
|
"values": [ -10000000 ]
|
||||||
@ -211,7 +211,7 @@ tracks/2/loop_wrap = true
|
|||||||
tracks/2/imported = false
|
tracks/2/imported = false
|
||||||
tracks/2/enabled = true
|
tracks/2/enabled = true
|
||||||
tracks/2/keys = {
|
tracks/2/keys = {
|
||||||
"times": PoolRealArray( 0.6 ),
|
"times": PoolRealArray( 0.02 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ -10000000 ]
|
"values": [ -10000000 ]
|
||||||
@ -223,7 +223,7 @@ tracks/3/loop_wrap = true
|
|||||||
tracks/3/imported = false
|
tracks/3/imported = false
|
||||||
tracks/3/enabled = true
|
tracks/3/enabled = true
|
||||||
tracks/3/keys = {
|
tracks/3/keys = {
|
||||||
"times": PoolRealArray( 0.6 ),
|
"times": PoolRealArray( 0 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ 10000000 ]
|
"values": [ 10000000 ]
|
||||||
@ -235,7 +235,7 @@ tracks/4/loop_wrap = true
|
|||||||
tracks/4/imported = false
|
tracks/4/imported = false
|
||||||
tracks/4/enabled = true
|
tracks/4/enabled = true
|
||||||
tracks/4/keys = {
|
tracks/4/keys = {
|
||||||
"times": PoolRealArray( 0.6 ),
|
"times": PoolRealArray( 0.59 ),
|
||||||
"transitions": PoolRealArray( 1 ),
|
"transitions": PoolRealArray( 1 ),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ 10000000 ]
|
"values": [ 10000000 ]
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
extends Node2D
|
extends Node2D
|
||||||
|
|
||||||
|
export var movement_radius = 200
|
||||||
|
|
||||||
var Rope = preload("res://src/Contraptions/Rope/Rope.tscn")
|
var Rope = preload("res://src/Contraptions/Rope/Rope.tscn")
|
||||||
var RopeAnchor = preload("res://src/Contraptions/Rope/RopeAnchor.tscn")
|
var RopeAnchor = preload("res://src/Contraptions/Rope/RopeAnchor.tscn")
|
||||||
@ -15,8 +16,9 @@ func _on_LevelTemplate_ready() -> void:
|
|||||||
rope.rope_start = get_node("WhatAreFrog")
|
rope.rope_start = get_node("WhatAreFrog")
|
||||||
rope.rope_end_joint = get_node("RopeAnchor/cshape/pjoint")
|
rope.rope_end_joint = get_node("RopeAnchor/cshape/pjoint")
|
||||||
rope.rope_start_joint = get_node("WhatAreFrog/cshape/pjoint")
|
rope.rope_start_joint = get_node("WhatAreFrog/cshape/pjoint")
|
||||||
rope.spawn_rope($WhatAreFrog.global_position, $WhatAreFrog.global_position + Vector2(100,0), false)
|
rope.spawn_rope($WhatAreFrog.global_position, $RopeAnchor.global_position, false)
|
||||||
pass
|
|
||||||
|
$WhatAreFrog.bind_to_anchor($RopeAnchor, movement_radius)
|
||||||
|
|
||||||
# Executes on frog death
|
# Executes on frog death
|
||||||
# The old switchero
|
# The old switchero
|
||||||
|
|||||||
@ -6,9 +6,13 @@ onready var jump_timer: Timer
|
|||||||
|
|
||||||
export var score := 100
|
export var score := 100
|
||||||
|
|
||||||
var start_x = 0
|
var movement_radius: float
|
||||||
var in_air = false
|
var anchor: Node2D
|
||||||
var is_hurt = false
|
var is_bound := false
|
||||||
|
|
||||||
|
var start_x := 0
|
||||||
|
var in_air := false
|
||||||
|
var is_hurt := false
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
jump_timer = Timer.new()
|
jump_timer = Timer.new()
|
||||||
@ -16,6 +20,11 @@ func _ready():
|
|||||||
jump_timer.connect("timeout", self, "jump")
|
jump_timer.connect("timeout", self, "jump")
|
||||||
add_child(jump_timer)
|
add_child(jump_timer)
|
||||||
|
|
||||||
|
func bind_to_anchor(anchor_node: Node2D, radius: float ) -> void:
|
||||||
|
anchor = anchor_node
|
||||||
|
movement_radius = radius
|
||||||
|
is_bound = true
|
||||||
|
|
||||||
# TODO adapt to groups
|
# TODO adapt to groups
|
||||||
# TODO Engine error here(what does it WANT???)
|
# TODO Engine error here(what does it WANT???)
|
||||||
func _on_StompDetector_body_entered(body: Node) -> void:
|
func _on_StompDetector_body_entered(body: Node) -> void:
|
||||||
@ -30,6 +39,13 @@ func execute_movement(delta: float) -> void:
|
|||||||
velocity.y += _gravity * delta
|
velocity.y += _gravity * delta
|
||||||
if sign(velocity.x) != orientation.cast_to.x:
|
if sign(velocity.x) != orientation.cast_to.x:
|
||||||
velocity.x *= -1
|
velocity.x *= -1
|
||||||
|
if(is_bound):
|
||||||
|
var next_position = global_position + velocity*delta
|
||||||
|
var distance_to_anchor = global_position.distance_to(anchor.global_position)
|
||||||
|
var new_distance = next_position.distance_to(anchor.global_position)
|
||||||
|
if(new_distance > movement_radius):
|
||||||
|
velocity = velocity/2
|
||||||
|
orientation.cast_to.x *= -1
|
||||||
velocity = move_and_slide(velocity, FLOOR_NORMAL, false, 4, 0.785398,false)
|
velocity = move_and_slide(velocity, FLOOR_NORMAL, false, 4, 0.785398,false)
|
||||||
if(is_on_floor()):
|
if(is_on_floor()):
|
||||||
velocity = Vector2(0,0)
|
velocity = Vector2(0,0)
|
||||||
|
|||||||
@ -37,7 +37,7 @@ format = 1
|
|||||||
tile_data = PoolIntArray( 131099, -1073741822, 0, 262139, -1610612734, 0, 196635, -1073741822, 0, 327675, -1610612734, 0, 262171, -1073741822, 0, 393211, -1610612734, 0, 327707, -1073741822, 0, 458747, -1610612734, 0, 393243, -1073741822, 0, 524283, -1610612734, 0, 458779, -1073741822, 0, 589819, -1610612734, 0, 524315, -1073741822, 0, 655355, -1610612734, 0, 589851, -1073741822, 0, 720891, -1610612734, 0, 655387, -1073741822, 0, 786427, -1610612734, 0, 720923, -1073741822, 0, 851963, -1610612734, 0, 786459, -1073741822, 0, 917499, -1610612734, 0, 851995, -1073741822, 0, 983036, 2, 0, 983037, 2, 0, 983038, 2, 0, 983039, 2, 0, 917504, 2, 0, 917505, 2, 0, 917506, 2, 0, 917507, 2, 0, 917508, 2, 0, 917509, 2, 0, 917510, 2, 0, 917511, 2, 0, 917512, 2, 0, 917513, 2, 0, 917514, 2, 0, 917515, 2, 0, 917516, 2, 0, 917517, 2, 0, 917518, 2, 0, 917519, 2, 0, 917520, 2, 0, 917521, 2, 0, 917522, 2, 0, 917523, 2, 0, 917524, 2, 0, 917525, 2, 0, 917526, 2, 0, 917527, 2, 0, 917528, 2, 0, 917529, 2, 0, 917530, 2, 0 )
|
tile_data = PoolIntArray( 131099, -1073741822, 0, 262139, -1610612734, 0, 196635, -1073741822, 0, 327675, -1610612734, 0, 262171, -1073741822, 0, 393211, -1610612734, 0, 327707, -1073741822, 0, 458747, -1610612734, 0, 393243, -1073741822, 0, 524283, -1610612734, 0, 458779, -1073741822, 0, 589819, -1610612734, 0, 524315, -1073741822, 0, 655355, -1610612734, 0, 589851, -1073741822, 0, 720891, -1610612734, 0, 655387, -1073741822, 0, 786427, -1610612734, 0, 720923, -1073741822, 0, 851963, -1610612734, 0, 786459, -1073741822, 0, 917499, -1610612734, 0, 851995, -1073741822, 0, 983036, 2, 0, 983037, 2, 0, 983038, 2, 0, 983039, 2, 0, 917504, 2, 0, 917505, 2, 0, 917506, 2, 0, 917507, 2, 0, 917508, 2, 0, 917509, 2, 0, 917510, 2, 0, 917511, 2, 0, 917512, 2, 0, 917513, 2, 0, 917514, 2, 0, 917515, 2, 0, 917516, 2, 0, 917517, 2, 0, 917518, 2, 0, 917519, 2, 0, 917520, 2, 0, 917521, 2, 0, 917522, 2, 0, 917523, 2, 0, 917524, 2, 0, 917525, 2, 0, 917526, 2, 0, 917527, 2, 0, 917528, 2, 0, 917529, 2, 0, 917530, 2, 0 )
|
||||||
|
|
||||||
[node name="Spikes" parent="." instance=ExtResource( 13 )]
|
[node name="Spikes" parent="." instance=ExtResource( 13 )]
|
||||||
position = Vector2( 121, 324 )
|
position = Vector2( -13, 324 )
|
||||||
|
|
||||||
[node name="BlobbyCam" parent="." instance=ExtResource( 11 )]
|
[node name="BlobbyCam" parent="." instance=ExtResource( 11 )]
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user