Player.gd 669 B

1234567891011121314151617181920212223242526272829
  1. extends Area2D
  2. export var speed = 400 # pixel / sec
  3. var screen_size
  4. func _ready():
  5. screen_size = get_viewport_rect().size
  6. func _process(delta):
  7. var velocity = Vector2()
  8. if Input.is_action_pressed("ui_right"):
  9. velocity.x += 1
  10. if Input.is_action_pressed("ui_left"):
  11. velocity.x -= 1
  12. if Input.is_action_pressed("ui_down"):
  13. velocity.y += 1
  14. if Input.is_action_pressed("ui_up"):
  15. velocity.y -= 1
  16. if velocity.length() > 0:
  17. velocity = velocity.normalized() * speed
  18. $AnimatedSprite.play()
  19. else:
  20. $AnimatedSprite.stop()
  21. position += velocity * delta
  22. position.x = clamp(position.x, 0, screen_size.x)
  23. position.y = clamp(position.y, 0, screen_size.y)