Как применить коллайдер из сборного объекта к объекту? - PullRequest
0 голосов
/ 04 июня 2018

Я использую C # в единстве и пытаюсь применить спрайты и коллайдеры различных префабов к моей сущности игрока на протяжении всей игры.

Спрайт успешно изменится, однако использование аналогичного скрипта с коллайдером возвращает ошибку "The left hand side of an assignment must be a variable, property or indexer" (строка 4 здесь), evoSprite - это Sprite, а evoCollider - это в настоящее время Collider2D, но я не думаю, чтоэто верно.

Нужен способ исправить это или альтернативный способ сделать то, что я хочу.

Ниже приведен код:

    evoSprite = (GameObject.FindGameObjectsWithTag("Evo0")[0]).GetComponent<SpriteRenderer>().sprite;
    (GameObject.FindGameObjectsWithTag("Player")[0]).GetComponent<SpriteRenderer>().sprite = evoSprite;
    evoCollider = (GameObject.FindGameObjectsWithTag("Evo0")[0]).GetComponent<PolygonCollider2D>();
    (GameObject.FindGameObjectsWithTag("Player")[0]).GetComponent<PolygonCollider2D>() = evoCollider;

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Внимание.Спасибо всем за помощь, я возился с кодом и теперь нашел ответ.Вместо того, чтобы пытаться использовать весь коллайдер, я обнаружил, что с помощью кода:

private evoCollider Vector2;
evoCollider = (GameObject.FindGameObjectsWithTag("Evo0")[0]).GetComponent<PolygonCollider2D>().points;

Достигается желаемый результат.Еще раз спасибо за помощь и приносим извинения за доставленные неудобства.

0 голосов
/ 04 июня 2018

Sprite - это ссылка на актив, а .sprite - поле / установщик элемента, поэтому вы можете использовать component.sprite = newSprite.Однако вам не разрешается делать do gameobject.colliider = new collider, поскольку collider не является членом экземпляра GameObject, а является его компонентом.

Учтите это: у вас может быть несколько компонентов одного типа вgameojbect, или ни одного, но один компонент не может быть связан с несколькими gameObjects, что, по сути, вы и пытались сделать здесь.

Используйте метод gameobject.AddComponent <> () для создания нового экземпляра компонента вместо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...