1234567891011121314151617181920212223242526272829303132333435363738 |
- class_name Jumper
- extends RigidBody2D
- const SPEED = 5.0
- const JUMP_IMPULSE = 942.5
- const MOVE_FORCE = 1142
- @export var skins: Array[Texture2D]
- # Set by the authority, synchronized on spawn.
- @export var player := 1 :
- set(id):
- player = id
- # Give authority over the player input to the appropriate peer.
- $JumperInput.set_multiplayer_authority(id)
- $Sprite2D.set_texture(skins[2])
- # Player synchronized input
- @onready var input: JumperInput = $JumperInput
- func _ready():
- pass
- func _physics_process(delta):
- # Handle Jump.
- if input.jumping:
- apply_impulse(Vector2.UP * JUMP_IMPULSE)
- # Reset jump state.
- input.jumping = false
- # Handle movement.
- var direction = input.direction
- if direction:
- apply_force(direction * MOVE_FORCE)
|