need to fix the angle interpolation but its a start (#8)

it does a weird thing when you go from one side to the other, probably because of how godot handles the angles. It's def fixable but I'll have to play around with it more

Reviewed-on: #8
Reviewed-by: ysandler <accounts@tzed.io>
Co-authored-by: Travis Gatlin <travisgatlin53@yahoo.com>
Co-committed-by: Travis Gatlin <travisgatlin53@yahoo.com>
This commit is contained in:
Travis Gatlin 2025-03-10 19:23:22 -05:00 committed by ysandler
parent 66f09fb6eb
commit 976d690299
4 changed files with 104 additions and 7 deletions

93
dem8633.tmp Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,6 @@ extends CharacterBody2D
const SPEED = 350.0 const SPEED = 350.0
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
global.emit_signal("playerPosition",self.global_position) global.emit_signal("playerPosition",self.global_position)
movement() movement()
@ -14,6 +13,11 @@ func animation():
func movement(): func movement():
var vertical = Input.get_axis("up","down") var vertical = Input.get_axis("up","down")
var horizontal = Input.get_axis("left","right") var horizontal = Input.get_axis("left","right")
var rotVector = Vector2(vertical*-1,horizontal).normalized()
#self.rotation = rotVector.angle()
if rotVector != Vector2(0,0):
var rotationTween = get_tree().create_tween()
rotationTween.tween_property(self,"global_rotation",rotVector.angle(),0.1)
if is_equal_approx(abs(vertical),1.0) and is_equal_approx(abs(horizontal),1.0): if is_equal_approx(abs(vertical),1.0) and is_equal_approx(abs(horizontal),1.0):
velocity.y = SPEED*vertical/2 velocity.y = SPEED*vertical/2
velocity.x = SPEED*horizontal/2 velocity.x = SPEED*horizontal/2
@ -21,4 +25,4 @@ func movement():
velocity.y = SPEED * vertical velocity.y = SPEED * vertical
velocity.x = SPEED * horizontal velocity.x = SPEED * horizontal
move_and_slide() move_and_slide()
$"../Camera2D/Label".text = (str(self.global_position)) $"../Camera2D/Label".text = (str(vertical)+" "+str(horizontal) + "vector:"+str(rotVector))