![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
Вот смотрите ,у меня есть класс врага ,допустим Enemy_per, в нем я добавляю слушатель событий ENTER_FRAME и там прописываю код на перемещение персонажа,те постоянное движение,от одного края до другого ,разворачивается и обратно и так все время.. Потом я наследую от него еще класса 4, и добавляю на сцену их, да,персонажи ходят,но это вешает производительность , все тормозит еле двигается, есть ли какая нибудь альтернатива ENTER_FRAM'у чтоб не так вешало..
|
|
|||||
|
1 - Enemy_per , не по принятым стандартам лучше EnemyPer
2 - используйте tweener для таких вещей , есть много реализаций (родную лучше не используйте) поищите информацию на тему TweenerLite ,например.
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
|
|
|||||
|
Да он.
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
ну ладно посмотрю)спасибо
Добавлено через 8 минут а вот допустим у меня главный игрок постоянно перемещается(управление с клавиатуры) а у нему идут противники, у твинера есть метод TweenMax.to(mc, 1, {x:65, y:117}); те он двигает к определенной точке,а персонаж то постоянно ходит,получается чтоб противник постоянно следовал за игроком нужно это опять же в ENTER_FRAME все делать? |
|
|||||
|
вешайте на завершение анимации персонажа (передвижение) или на начало нового движение события которые будут направлять противников к игроку , вообще это сложная логика все зависит от конкретной реализации - способов много
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
|
Цитата:
выход из вашей ситуации: не использовать на каждого перса по индивидуальному двигателю! значит получается: Пишем у каждого перса (и во всей игре целиком - желательно) общие методы к примеру "moveObject();" а в основном классе игры регистрируем таймер и в цикле пробегаем по всем динамическим объектам. К примеру обходим в цикле объекты враги: private function allMoveObject (e:TimerEvent):void { for (var i:int = 0; i < allEnemyNum; i ++) { if (allEnemy[i] != kill) { // всякие проверки на столкновение и т.п. манипуляции с объектом allEnemy[i].x ++; } } } // такой манёвр значительно ускорит приложение и снизит загрузку памяти. так же в приведённом выше примере можно проверять какая клавиша зажата для движения героем, проверять дистанцию от героя до врага и в случае попадания в область видимости, врагу сообщать новое движение по напровлению к герою, ох, столько всего замутить можно =)))
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь! |
|
|||||
|
Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
|
те получается каждый шаг времени функция будет проверять какая кнопка зажата, каких игровых объектов двигать, какие сталкиваются,кто умер,и так далее?
|
|
|||||
|
ессессеенноо)))
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь! |
|
|||||
|
тогда уже лучше иметь 2 контроллера : персонажа и скопа врагов , а то получается что-то сродни :
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|