Только начал изучать юнити. Ни один из скриптов интернета у меня не работает.
Пишет что скрипты рабочие,но потом вылезают какие то ошибки.
Просто хочу что бы персонаж хотя бы перемещался влево право!

Принятый ответ

а да), Название скрипта в редакторе должно быть равным с названию класса, то есть public class CompletePlayerController -> название скрипта CompletePlayerController

Посмотри базовые уроки хотя бы - проще будет
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
48
4 года назад
0
В том скрипте кстати баги будут - к примеру, объект будет проходить сквозь объекты. Лучше повесить rigidbody/2d и двигать его с помощью добавления силы. Будет и ускорение, и замедление (можно будет настроить). Физика будет сама работать, если есть коллайдер.
Или юзать character collider, там так же есть метод, который задает скорость, или движение.

Bergi_Bear:
тем более мой пример с оффсайта юнити, как бы это не вредный совет
Это примеры реализации, но не как ни 100% рабочий скрипт
0
20
4 года назад
0
rigidbody/2d
Про rigidbody/2d вообще пишет ,что в новой версии он устарел и его требуется заменить((
0
48
4 года назад
0
SсRealm:
rigidbody2d
0
32
4 года назад
0
SсRealm:
Bergi_Bear:
твой пример выдает ошибку, что нет ссылки на моего персонажа((
The referenced script on this Behaviour (Game Object 'Jet') is missing!
ещё раз говорю, мой пример для 3д, я же не знал что ты в д2 работаешь, экстрасенс не сработал
N7 Molot:
Это примеры реализации, но не как ни 100% рабочий скрипт
прекрасно работает если выдать риджитбади, и толкает и падает и переворачивается и упирается в стены, прекрасный 100% рабочий скрипт, но не для этого случая который спрашивает SсRealm,
0
20
4 года назад
0
Ребят, я не прошу за меня игру писать. Мне нужен лишь пример рабочего кода,чтобы персонаж перемещался влево вправо?
2
48
4 года назад
Отредактирован N7 Molot
2
Вот хороший пример:
using UnityEngine;

public class CompletePlayerController : MonoBehaviour {

    public float speed;
    private Rigidbody2D rb2d;

    void Start(){
        rb2d = GetComponent<Rigidbody2D> ();
    }

    void FixedUpdate(){
        float moveHorizontal = Input.GetAxis ("Horizontal");
        float moveVertical = Input.GetAxis ("Vertical");

        Vector2 movement = new Vector2 (moveHorizontal, moveVertical);
        rb2d.AddForce (movement * speed);
    }
}
Вешаем на объект, и на нем должен быть Rigidbody2D.
0
20
4 года назад
0
N7 Molot:
Вот хороший пример:
using UnityEngine;

public class CompletePlayerController : MonoBehaviour {

    public float speed;
    private Rigidbody2D rb2d;

    void Start(){
        rb2d = GetComponent<Rigidbody2D> ();
    }

    void FixedUpdate(){
        float moveHorizontal = Input.GetAxis ("Horizontal");
        float moveVertical = Input.GetAxis ("Vertical");

        Vector2 movement = new Vector2 (moveHorizontal, moveVertical);
        rb2d.AddForce (movement * speed);
    }
}
Вешаем на объект, и на нем должен быть Rigidbody2D.
Не работает, ошибка: Assets\Upravlrne\NewBehaviourScript.cs(25,6): error CS1513: } expected
Этот комментарий удален
0
32
4 года назад
0
твой скрип называется NewBehaviourScript.cs, а должен CompletePlayerController, я написал об этом в первом сообщении 2 фейла подряд
0
48
4 года назад
Отредактирован N7 Molot
0
а да), Название скрипта в редакторе должно быть равным с названию класса, то есть public class CompletePlayerController -> название скрипта CompletePlayerController

Посмотри базовые уроки хотя бы - проще будет
Принятый ответ
0
20
4 года назад
0
Название сменил, ошибка осталась,что дальше?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.