для тех кто не хочет ждать: func move_player(): velocity = Vector2(Input.get_axis("left", "right"), Input.get_axis("up", "down")).normalized() * speed move_and_slide()
слушай не знаешь как сделать чтоб при зажиме (верх,лево) и т.д значение дайрекшн были целыми, а не 0.707107. Или как можно включить анимации? у меня сейчас if direction.y == -1 and direction.x == -1: anim.flip_h = true animplayer.play("run_up_xy") но он не работает
@@m.vizaru7879 можно например округлить значения к ближайшему целому, что-то вроде этого: var direction = Input.get_vector("left", "right", "up", "down") var rounded_direction = Vector2(round(direction.x), round(direction.y)) print("direction:", direction, " rounded_direction:", rounded_direction)
This has been helpful for me to achieve player mobility in the game, thank you very much. Can I share your video with other websites and attach a link?😀
Если вам спрайты добавить надо(ГОДО4): extends CharacterBody2D const SPEED = 300.0 const JUMP_VELOCITY = 300 # Get the gravity from the project settings to be synced with RigidBody nodes. var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") func _physics_process(delta): velocity = Vector2(Input.get_axis("ui_left", "ui_right"), Input.get_axis("ui_up", "ui_down")).normalized() * SPEED move_and_slide() if Input.is_action_pressed("ui_down"): $AnimatedSprite2D.play("LookDown") if Input.is_action_pressed("ui_up"): $AnimatedSprite2D.play("LookUP") if Input.is_action_pressed("ui_left"): $AnimatedSprite2D.play("LookLeft") if Input.is_action_pressed("ui_right"): $AnimatedSprite2D.play("LookRight")
Привет ! Я новенький и может быть задаю глупый вопрос ) А почему ты старые строки не удалил , как мне понять что срабатывают новые строки а не старые ? Ты ведь заменил грамосткий код на две, три строки.... Разве нет ?)
Если ты обратишь внимание, в самом вверху в методе '_process' ты можешь увидеть что единственный метод который вызывается в данной функции - move_player_3. Как раз таки вся новая реализация и была написана в этом методе move_player_3.
Помогите кто-нибудь! Пж! Мне пишут, что у меня таблутация неверная, а я не знаю, как исправить.extends KinematicBody2D var speed = 150 var jumpForce =300 var gravity = 700 var vel = Vector2() func _physics_process(delta): if Input.is_action_pressed("player_left"): vel.x -= speed elif Input.is_action_pressed("player_left"): vel.x += speed move_and_slide(vel, Vector2.UP)