extends CharacterBody2D @export var speed : float = 200.0 @export var jump_velocity : float = -200.0 @export var double_jump_velocity : float = -100 # Get the gravity from the project settings to be synced with RigidBody nodes. var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var has_double_jumped : bool = false func _physics_process(delta): ย ย ย ย # Add the gravity. ย ย ย ย if not is_on_floor(): ย ย ย ย ย ย ย ย velocity.y += gravity * delta ย ย ย ย else: ย ย ย ย ย ย ย ย has_double_jumped = false ย ย ย ย # Handle Jump. ย ย ย ย if Input.is_action_just_pressed("jump"): ย ย ย ย ย ย ย ย if is_on_floor(): ย ย ย ย ย ย ย ย ย ย ย ย velocity.y = jump_velocity ย ย ย ย elif not has_double_jumped: ย ย ย ย ย ย ย ย ย ย ย ย velocity.y = double_jump_velocity ย ย ย ย ย ย ย ย ย ย ย ย has_double_jumped = true ย ย ย ย # Get the input direction and handle the movement/deceleration. ย ย ย ย # As good practice, you should replace UI actions with custom gameplay actions. ย ย ย ย var direction = Input.get_axis("ui_left", "ui_right") ย ย ย ย if direction: ย ย ย ย ย ย ย ย velocity.x = direction * speed ย ย ย ย else: ย ย ย ย ย ย ย ย velocity.x = move_toward(velocity.x, 0, speed) ย ย ย ย move_and_slide()

ํšก์Šคํฌ๋กค ์œ ํŠœ๋ธŒ ์˜ˆ์ œ ๋ณด๋ฉด์„œ ๋”ฐ๋ผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋”๋ธ” ์ ํ”„ ์ถ”๊ฐ€ ํ•˜๊ธฐ ์ „์—” ์ž˜ ๋˜๋‹ค๊ฐ€

๋”๋ธ”์ ํ”„ ์ถ”๊ฐ€ํ•˜๋‹ˆ๊นŒ ๊ฐ‘์ž๊ธฐ ๋ฐ”๋‹ฅ์— ์ฐฉ์ง€ ํ•˜์ž๋งˆ์ž ๊ณ„์† ๋ฐ”๋‹ฅ์—์„œ ํ†ตํ†ต ํŠ€๋ฉด์„œ ์ขŒ์šฐ๋กœ๋งŒ ์›€์ง์—ฌ์ง€๊ณ  ์ ํ”„ํ‚ค๋Š” ๋จนํ†ต์ธ๋ฐ

์™œ์ด๋Ÿด๊นŒ

์œ ํŠญ ์˜ˆ์ œ๋ž‘์€ ์ฝ”๋“œ ๋˜‘๊ฐ™์Œ