![]() |
Перемещение объектов
Делаю игру, где одновременно могут перемещаться более ста объектов.
Координаты (_x_ и _y_) и имя мувиклипа (name) поступает извне. При использовании такой функции процессор сильно загружается. movement = function (name, _x_, _y_) { if (name != obj) { _root[name].onEnterFrame = function() { str = _root[name]; sX = _y_-int(str._y); sY = _x_-int(str._x); degree = Math.atan2(sX, sY); if (Math.sqrt(sX*sX+sY*sY)>speed) { str._x += Math.cos(degree)*speed; str._y += Math.sin(degree)*speed; } else { str._x = _x_; str._y = _y_; // delete _x_; delete _y_; delete spotX; delete spotY; delete degree; delete _root[name].onEnterFrame; } }; } }; Функция используется в цикле при получении данных. Существует ли альтернатива этому коду? Заранее благодарен. |
А почему просто не создать массив объектов и не обрабатывать их одним методом?
|
Потому что нужно, чтобы все объекты перемещались одновременно.
|
имхо, как opoek предлагет поодновременнее будет, чем сейчас: пока всех не пересчитаешь кадр ведь не сменится, зато не надо создавать onEnterFrame чтоб на первом же такте ее снести..
|
Тэгом code пользуемся, пользуемся, не стесняемся :)
|
| Часовой пояс GMT +4, время: 11:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.