![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 41
|
можно ли так сделать.
есть большой мувик (map1), в нем находится много объектов (object1, object2 ....) нужно сделать поиск их на карте. я делал так: двигал весь мувик (карту) чтоб нужный объект был в центре, смотрел его координаты в info, потом в лист боксе писал и так для каждого объекта Знакомый говорит, что наверняка есть какой то способ, чтоб каждый раз не определять координаты объектов, а как то программно центрировать мувик (map1) по объектам в нем находящихся (object1, object2 ....) . Вопрос: Можно ли центрировать мувик (чтоб объект был в центре экрана), по именам мувиков (object1, object2 ....), в нем находящихся, а не определяя каждый раз координаты мувика?
__________________
я знаю Flash/я не знаю Flash Последний раз редактировалось Sysrepos; 25.05.2008 в 21:15. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Не совсем понятен вопрос!
А вообще |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 41
|
эта штука центрирует сам мувик.
я имел ввиду что то вроде этого только так не работает
__________________
я знаю Flash/я не знаю Flash Последний раз редактировалось Sysrepos; 25.05.2008 в 21:08. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Пользуйтесь в таком случае функциями localToGlobal и globalToLocal
И потом код Записывается вот так: посокольку мув - object1 находится на временной шкале map1 А вообще алгоритм такой: 1. Поскольку клип object1 находится на временной шкале клипа map1 локальные координаты клипа object1 необходимо пересчитать в глобальные (главной временной шкалы. Или в Ваших терминах - экрана), используя для этого localToGlobal(). 2. Получив глобальные координаты клипа object1 находим разницу между ними и глобальными координатами центра экрана с использованием лексем Xцентра_экрана = Stage._width/2 и Yцентра_экрана = Stage._height/2. 3. Вычитаем/складываем (в зависимости от знака) эти координаты с/из координат клипа-носителя map1 и центр мува object1 совпадет с центром экрана. Последний раз редактировалось Alex_beginner; 26.05.2008 в 14:29. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Весьма оригинальный пример с классом Tween!
Но нет гарантии, что заказчику нужны именно такие расширенные функции ![]() С localToGlobal() все делается намного проще. |
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Когда я делал карту, просто добавил новое свойство для всех мувиков:
Сравнивая значение полученного центра мувика со значением середины экрана (через Stage) получаем искомую величину сдвига. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 41
|
прикольно, я тогда делал пол дня наверно (obj1 ... obj125), а можно было минут за десять сделать.
__________________
я знаю Flash/я не знаю Flash |
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
Я в своё время для создания карты делал так: снимал показатели объектов по _x и _y
и прописывал скрипт: Если данный _x меньше нужного то увеличивать, если больше уменьшать то же и по _y выходило прикольно, при срабатывании функции общая картина ехала с заданной скоростью к нужной точке |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Можно было и без if....
Просто находишь разницу между требуемой точкой клипа и текущей, и делишь все это на количество шагов - получаешь шаг, а потом, например, в обработчике onEnterFrame прибавляешь полученную величину к текущей координате клипа и заодно контроллируешь кол-во сделанных шагов. Последний раз редактировалось Alex_beginner; 28.05.2008 в 10:43. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|