|
|
|||||
Регистрация: Dec 2009
Сообщений: 14
|
отследить имя клипа
Можно ли отследить имя клипа при его пересечении с другим клипом?
есть вариант просканировать сцену на мувиклипы с помощью "in this" и "_name" и поочереди проверить пересечение с всема клипами, но это не очень практично так как в сцене могут быть сотни клипов. возможно ли както определить имя клипа если он пересекается с указаным клипом? задача состоит в том чтобы сделать сортировку глубины клипов в зависимости от их положеня на сцене по оси y, и если один клип пересек второй и он по оси выше, он должен оказатся под ним (swapDepth). или посоветуйте другой способ решения задачи... |
|
|||||
Регистрация: Dec 2009
Сообщений: 14
|
fresh.flash, вы не правельно поняли вопрос, спасибо я знаю как определить пересечение, но ситуация в том что в клипе создается столько мувиков сколько будет перемменных в загружаемом файле и каждый должен проверять пересечение с другими мувиками, в вашом ответе вы четко указали имя первого второго клипа, но я не имею такой возможности впесать в скрипт сто строк такого кода и перечислить все возможные имена
|
|
|||||
Это если мувики в руте и называются mc1, mc2 и т.д. В результате будет 100 массивов для каждого мувика
Последний раз редактировалось fresh.flash; 29.12.2009 в 15:16. |
|
|||||
Регистрация: Dec 2009
Сообщений: 14
|
спасибо, вот кстати я нашол способ тасовать все мувиклипы по оси Z ориентируясь где находятся персонажи по Y даже если у них нет имени) может комуньть пригодится кто к примеру делает игру и ему надо отследить глубену персонажей...
помещаем на мувиклипы код и они тасуются автоматически все onClipEvent (enterFrame) { for (var i in this._parent) { if (typeof (this._parent[i]) == 'movieclip') { if (this._y>this._parent[i]._y) { if (this.getDepth()<this._parent[i].getDepth()) { this.swapDepths(this._parent[i]); } } if (this._y<this._parent[i]._y) { if (this.getDepth()>this._parent[i].getDepth()) { this.swapDepths(this._parent[i]); } } } } } |
|
|||||
Модрон-ветеринар
|
Чтобы не перегружать процессор, нужно оптимизировать код.
Могут быть разные варианты решения. Вопрос вам - пересечение происходит при движении мувика, так? Как организовано это движение - пользователь берет мувик и двигает или они двигаются программно? Если последнее верно, то сколько двигается одновременно и есть ли событие определяющее начало движения? Или у вам важна чисто сортировка в начале, а движения нет? Последний раз редактировалось mooncar; 29.12.2009 в 15:57. |
|
|||||
Регистрация: Dec 2009
Сообщений: 14
|
передвежение начинается по отслеживанию значения переменной, я думаю этот код можно использовать только во время перемещения мувиклипа, достаточно одному клипу перемещатся чтобы оба поменялись местами так что думаю можно так и оптимизировать...
Добавлено через 2 минуты onClipEvent (enterFrame) { if (move == 1){ for (var i in this._parent) { if (typeof (this._parent[i]) == 'movieclip') { if (this._y>this._parent[i]._y) { if (this.getDepth()<this._parent[i].getDepth()) { this.swapDepths(this._parent[i]); } } if (this._y<this._parent[i]._y) { if (this.getDepth()>this._parent[i].getDepth()) { this.swapDepths(this._parent[i]); } } } } } } ребята, выручайте, есть ещоо одна задача... создается онлайн проэктик, короче когда игрок подключается на сервере его ник дописывается в тхт файлик в новую строку, файл выглядит примерно так: vasya dima shasha когда человек покидает игру то имя с файла вытерается.. задача состоит в следующем, надублировать клип и каждому клипу дать имя по списку в файле, тоесть первый клип должен иметь имя vasya (или переменную с этим значением), второй клип должен быть dima и третий shasha... тхт загружается при помощи LoadVars(). Добавлено через 1 час 53 минуты вот пока что пришло на ум это розбить текст на массив через "\n" и прогнать дубликаты по массиву, больше варанов нет? Последний раз редактировалось Plam; 29.12.2009 в 16:14. |
|
|||||
Регистрация: Aug 2009
Сообщений: 14
|
Зачим создавать уйму клипов, когда можно искать в том же массиве, в него добавлять, и из него же удалять при уходе?
|
|
|||||
Регистрация: Dec 2009
Сообщений: 14
|
имена хранятся в тхт файле на сервере а флєш клиент должен для каждого имени сделать дубликат и получать на взятое имя параметры переменных
|
|
|||||
Регистрация: Aug 2009
Сообщений: 14
|
Массив под имена, массив(ы) под параметры... Это вроде должно быть легче и быстродейственнее, чем хранить н объектов и свойства к ним?
|
Часовой пояс GMT +4, время: 12:49. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|