Zorexo
@Zorexo
Пробую, экспериментирую и т. д.

Почему не работает скрипт?

private bool keepChecking = true;

void OnCollisionStay(Collision coll)
{
    if(keepChecking)
    {
        if(coll.tag == "WallG")
        {
            coll.transform.position = new Vector3(0, +1);
        }
        else
        {
             keepChecking = false;
        }
     }
}


Юнити выдаёт ошибку:

error CS1061: Type `UnityEngine.Collision' does not contain a definition for `tag' and no extension method `tag' of type `UnityEngine.Collision' could be found. Are you missing an assembly reference?
  • Вопрос задан
  • 148 просмотров
Решения вопроса 2
@Sir_Akakii
У Collision нет определения поля tag.
Пиши так - if(coll.gameObject.CompareTag("WallG"))
Ответ написан
Комментировать
MrMureno
@MrMureno Куратор тега Unity
VR for all
ну почему..почему вы не можете просто прочитать что в ошибке написано ?

там прям ответ
и всего лишь надо заглянуть в документацию по Collision
https://docs.unity3d.com/ScriptReference/Collision.html
и посмотреть какие у него поля..

а вот тут даже примерчик с проверкой имени объекта.
https://docs.unity3d.com/ScriptReference/Collision...

коллайдер, gameObject , transform и rigitbogy можно получить из коллизии))

и обычно по коллайдеру или gameObject сравнивают тэг
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы