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:
parent
66f09fb6eb
commit
976d690299
Binary file not shown.
93
dem8633.tmp
Normal file
93
dem8633.tmp
Normal file
File diff suppressed because one or more lines are too long
@ -3,7 +3,6 @@ extends CharacterBody2D
|
||||
|
||||
const SPEED = 350.0
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
global.emit_signal("playerPosition",self.global_position)
|
||||
movement()
|
||||
@ -14,6 +13,11 @@ func animation():
|
||||
func movement():
|
||||
var vertical = Input.get_axis("up","down")
|
||||
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):
|
||||
velocity.y = SPEED*vertical/2
|
||||
velocity.x = SPEED*horizontal/2
|
||||
@ -21,4 +25,4 @@ func movement():
|
||||
velocity.y = SPEED * vertical
|
||||
velocity.x = SPEED * horizontal
|
||||
move_and_slide()
|
||||
$"../Camera2D/Label".text = (str(self.global_position))
|
||||
$"../Camera2D/Label".text = (str(vertical)+" "+str(horizontal) + "vector:"+str(rotVector))
|
||||
|
Loading…
x
Reference in New Issue
Block a user