Version 1.0
extends KinematicBody2D var velocity = Vector2() func _physics_process(delta): if Input.is_action_pressed(„ui_right“): velocity.x = 30 move_and_slide(velocity)
Version 1.1
extends KinematicBody2D var velocity = Vector2() func _physics_process(delta): if Input.is_action_pressed(„ui_right“): velocity.x = 30 elif Input.is_action_pressed(„ui_left“): velocity.x = -30 else: velocity.x = 0 move_and_slide(velocity)
Version 1.2 - links, rechts, stop
extends KinematicBody2D var velocity = Vector2() func _physics_process(delta): if Input.is_action_pressed(„ui_right“): velocity.x = 30 elif Input.is_action_pressed(„ui_left“): velocity.x = -30 else: velocity.x = 0 move_and_slide(velocity)
Version 1.3 - alle Richtungen
extends KinematicBody2D var velocity = Vector2() func _physics_process(delta): if Input.is_action_pressed(„ui_right“): velocity.x = 30 elif Input.is_action_pressed(„ui_left“): velocity.x = -30 else: velocity.x = 0 if Input.is_action_pressed(„ui_up“): velocity.y = -30 elif Input.is_action_pressed(„ui_down“): velocity.y = 30 else: velocity.y = 0 move_and_slide(velocity)
Version 2.0 - Gravitation und Springen
extends KinematicBody2D const SPEED = 60 const GRAVITY = 10 const JUMP_POWER = -250 const UP_DIR = Vector2(0, -1) var velocity = Vector2() func _physics_process(delta): if Input.is_action_pressed(„ui_right“): velocity.x = SPEED elif Input.is_action_pressed(„ui_left“): velocity.x = -SPEED else: velocity.x = 0 if Input.is_action_pressed(„ui_up“): velocity.y = JUMP_POWER # velocity.y = velocity.y + GRAVITY velocity.y += GRAVITY velocity = move_and_slide(velocity, UP_DIR)
Version 2.1 - jump on ground
extends KinematicBody2D const SPEED = 60 const GRAVITY = 10 const JUMP_POWER = -250 const UP_DIR = Vector2(0, -1) var velocity = Vector2() var on_ground = false func _physics_process(delta): if Input.is_action_pressed(„ui_right“): velocity.x = SPEED elif Input.is_action_pressed(„ui_left“): velocity.x = -SPEED else: velocity.x = 0 if Input.is_action_pressed(„ui_up“): if on_ground == true: velocity.y = JUMP_POWER on_ground = false # velocity.y = velocity.y + GRAVITY velocity.y += GRAVITY if is_on_floor(): on_ground = true else: on_ground = false velocity = move_and_slide(velocity, UP_DIR)
extends KinematicBody2D const SPEED = 60 const GRAVITY = 10 const JUMP_POWER = -250 const UP_DIR = Vector2(0, -1) var velocity = Vector2() var on_ground = false func _physics_process(delta): if Input.is_action_pressed(„ui_right“): velocity.x = SPEED $AnimatedSprite.play(„run “) $AnimatedSprite.flip_h = false elif Input.is_action_pressed(„ui_left“): velocity.x = -SPEED $AnimatedSprite.play(„run “) $AnimatedSprite.flip_h = true else: velocity.x = 0 if on_ground: $AnimatedSprite.play(„idle“) if Input.is_action_pressed(„ui_up“): if on_ground == true: velocity.y = JUMP_POWER on_ground = false $AnimatedSprite.play(„jump“) # velocity.y = velocity.y + GRAVITY velocity.y += GRAVITY if is_on_floor(): on_ground = true else: on_ground = false if velocity.y < 0: $AnimatedSprite.play(„jump“) else: $AnimatedSprite.play(„fall“) velocity = move_and_slide(velocity, UP_DIR)