Лазер протыкал только при transform.Translate, что и понятно, а так и Discrete хватает, так что проблема только как повернуть спрайт.
Идею я понял, но не подскажете как именно узнать, на сколько повернуть?
GavriKos: я сделал так, как просили, и появилось несколько вопросов.
Указаная конструкция не работает, и есть вопрос, можна ли так описать:
IGameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent(typeof(IGameController)) as IGameController;
или
IGameController controller = GameObject.FindGameObjectWithTag("GameController").GetComponent();
А так же я не смог понять, как мне заменить конструкцию if (GameController.enemyWin == enemyCreate) (static переменная), так как созданий мной controller от IGameController и не знает о такой переменной. Создавать ф-и для кажого такого обращения?
GavriKos: Все понятно до стадии заключения нужного GameController, а именно как GetComponent() вернет GameControllerN, так как конструкция GetComponent ( "GameController") не сработает. Разве что по индексу?
И опять же, как я создам переменную, если ее тип - название класа
Или я не так понял и конструкция будет не такая: GameController controller = GameObject.FindGameObjectWithTag (
"GameController»). GetComponent ( "GameController") as GameController; ?
Я мало работал с интерфейсами, можно подробнее рассказать алгоритм?
у меня на каждой сцене есть один и тот же скрипт (например HeroGo), который вызывает метод в GameController (а вот он различную реализацию на каждой сцене, поэтому я хотел создать отдельные скрипты на каждую из них), но проблема в том, что прошлый скрипт напрямую обращается по имени.
И потому я не понял, как с помощью интерфейсов "GetComponent<>() (именно шаблонный)" будет работать на всех сценах.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.