Attention | Topic was automatically imported from the old Question2Answer platform. | |
Asked By | coder2195 |
So basically, average blocks are 64x64 pixels
But stairs have steps that are 32x tall
So far, my stairs work out
Player code:
extends KinematicBody2D
var velocity = Vector2.ZERO
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
export var player_speed = 128
export var jump_speed = 25662
func _ready():
set_position(Vector2(0, -640))
func _physics_process(delta):
var input_dir = 0
if Input.is_action_pressed("left"):
velocity.x += -player_speed * delta
input_dir = -1
if Input.is_action_pressed("right"):
velocity.x += player_speed * delta
input_dir = 1
if Input.is_action_pressed("up"):
if is_on_floor():
velocity.y = -jump_speed * delta
velocity.x *= .7
velocity.y += gravity * delta
velocity = move_and_slide(velocity, Vector2.UP, true)
if is_on_wall() && input_dir && is_on_floor():
move_local_y(-32)
move_local_x(input_dir)
The last lines handle the stairs.
My stairs are quite successful
However…
This is triggering
Easy way to handle the stairs is using collision polygons
horsecar123 | 2022-03-12 00:31