![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Вопрос, как в классе задать функцию которая заставляла бы объекты данного класса и всех подклассов избегать встречи друг с другом на сцене, например при сокращении дистанции друг с другом ближе чем на 30 пикселей 1 объект отдалялся бы от другого. (что бы враги друг в друге не стояли) Не представляю как обратится к самим себе во множественном виде.
|
|
|||||
|
Регистрация: Mar 2011
Сообщений: 243
|
Единственный вариант, который приходит в голову, использовать статический вектор в который добавлять элементы при добавлении на stage и удалять при удалении со stage. Соответственно нужны статическая функция и статический таймер.
Но я рекомендовал бы пересмотреть архитектуру и повесить внешний контроллер, так как этот подход ужасен. |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Вообще не понятно, я походу дела далек от этого еще) Надеялся что есть вариант обратится ко всем внутренним экземплярам и дать команду через условие сближения.
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 434
|
Исходники я свои к сожалению потерял, но скажу как бы делал сам:
1. Ищете в просторах сети демку где какой либо объект движется за курсором мыши, таких думаю полно демок и изучаете код 2. Добавляете все ваши объекты в массив и на сцену 3. Пробегаете по массиву и определяете дистанцию между каждыми 2 объектами(что то подобное должно быть в демке из пункта 1) 4. Если расстояние меньше 30 пикселей, то опять же обращаетесь к коду демки из пункта 1(и делаете удаление объектов друг от друга) |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
По началу я добавлял все эти объекты в массив давая им Instance Name, но когда я понял что если не давать им имена и просто вытаскивать на сцену то можно ими управлять не добавляя в массив.. этот вариант я оставил т.к. он меньше грузит комп. Вот почему я хочу узнать как обратится к своим экземплярам прямо в классе... у них нет имен, они просто стоят на сцене, так я не смогу добавить их в массив.
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 434
|
Статичный массив делайте в классе, и уже в него добавляйте экземпляр
Если не прав пусть кто нибудь поправит! сам такого не делал Последний раз редактировалось ЗлОй ПрОграММер; 18.05.2012 в 08:49. |
|
|||||
|
Статичный массив. Я бы разбил поле на квадраты равные примерно минимальному расстоянию между объектами, ну или что-то вроде того. Далее при перемещении или добавлении объекта сверялся с занятостью этих квадратов, а там уже можно и развести объекты по свободным к примеру соседним.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 17:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|