![]() |
Взаимодействие объектов с разными классами
Всем привет,
Начал изучать классы. Есть объект "Enemy" в его классе прописано простейшее движение по X и есть несколько объектов с классом "Marker" при соприкосновении с которыми "Enemy" Должен менять свою скорость на противоположную. В классе Enemy пишу Код AS3:
|
Какая строка кода? Где ошибка-то? Откуда берется marker? Ничо непонятно.
|
marker - это просто объект с одноименным классом
Задача такая - на сцене объект с классом "Enemy" который должен двигаться между двумя объектами с классом "Marker" туда-сюда. |
Раз у вас marker нигде не инициализируется, видимо это класс, а не объект.
|
Код AS3:
__ Аа. Ты туда, вместо ссылки на объект класса, пихаешь ссылку на сам класс. Гыгы, забавно. |
Еслиб это был объект с именем экземпляра "Marker" то код бы сработал. Просто не знаю как инициировать этот класс. Вопрос именно в том, как сделать чтоб "Enemy" реагировал на все объекты с классом "Marker"
|
В цикле проматываете через все объекты типа Marker которые находятся на сцене и проверяете коллизию hitTestObject'ом.
А объекты типа Marker лучше инициализировать в контейнере который должен содержать и Enemy и Marker'ы, и проверять коллизию тоже там. В вашем случае это наверное мэйн класс. |
Чтобы класс Enemy реагировал на объекты Marker, нужно передать ему ссылку на этот самый объект. Передать в конструкторе и хранить в свойстве класса, еще как-нибудь.
Вообще, логичнее было бы даже, чтобы класс сцены хранил в себе все экземпляры Enemy и Marker и проверял их всех на столкновения. --- 2AlexLucas: дай пять =) |
А если объектов "Enemy" будет несколько и маркеров тоже несколько?
Не могу немного логику понять, мне массив объектов "Enemy" нужно делать + массив объектов "Маркер" а потом проверять каждый элемент одного массива на коллизию с каждым из элементов другого? Добавлено через 48 секунд Цитата:
Просто неохота заморачиваться с массивами и циклами |
Код AS3:
|
| Часовой пояс GMT +4, время: 18:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.