![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2006
Сообщений: 57
|
Здравствуйте! Мне необходимо тащить мышкой объект удлиненный и похожий на такой:
Мышкой можно тащить за любую точку объекта. При этом по бокам / в разных местах флэша торчат такие вещи: Так надо чтобы концы переносимого объекта ловили бы статичные фиговины на карте. Ну похоже на то как мы руками вилку в розетку пихаем. При переносе я отслеживаю радиус вокруг "вилок" объекта в 5 точек и ищу "розетку", чтобы в нее вставить "вилку". Сейчас это сделано как перебор объектов в _root, но тормозит немеренно, т.к. объектов море. Как это можно сделать быстрее?? Прмечание: размер таскаемого обекта не совпадает с расстоянием между розетками, т.е. потом я его удлиняю. М.б. по типу такого: =======|> |---------->>|======= =======|> | >|======= =======|> | >|======= =======|>>--------| >|======= Главное как под любой точкой на флэше определить объекты под ней МАКСИМАЛЬНО быстро. Может флэш хранит массивчик двумерный... Я не знаю... Помогите.... |
|
|||||
|
Регистрация: Jul 2005
Сообщений: 154
|
А свой масивчик координат завести, а потом вычислить делая поправки на радиус(вобщем при желании можно исхитрится самому).
Это тоже может время занять, но не столько, сколько перебор! |
|
|||||
|
Регистрация: May 2006
Сообщений: 57
|
Свой делал... Я вообще делаю как...
Есть классы, каждый из который занимается своим делом: один - изменяет альфу с X на Y, второй - организует цикл, третий - очередь, а четвертый - движение мышкой. И допустим у меня есть класс типа (пишу примерно): class Krug extends MovieClip {
var moving : Mover = new Mover(this);
...
onMouseDown() {
if(мыша внутри) Mover.goAction();
}
onMouseUp() {
if(мыша внутри) Mover.stopAction();
}
}
При этом про запуске метода goAction() устанавливается callback функция на интервал времени... доп на 10 мсек... Т.о. ваш класс мувика ни о чем не заботится. Просто вызывает goAction и все. И через каждые 10 мсек срабатывает классы движения с склейки. Если мыша переместилась, класс движения переместит мувик, а класс склейки проверит окрестность в 5 точек и приклеит объекты. Все переносимые объекты я добавляю в массив (как Вы и писали), но все равно тормозит...Может просто много функций работает по интервалам? Хотя на примерку только две - перенос и склейка... Не понимаю... ![]() |
|
|||||
|
Регистрация: May 2006
Сообщений: 57
|
Цитата:
|
|
|||||
|
† Таня Белая
|
Цитата:
__________________
Flashress' Blogue |
|
|||||
|
4AM Games
|
Цитата:
вообще паттерн комманда подразумевает под собой всего один публичный метод ( execute() ), так что в одной функции на класс, не вижу ничего удивительного.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: May 2006
Сообщений: 57
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|