![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 18
|
Начался новый день.
Ставлю перед собой новые задачи. Перед тем, как научится плавно или последовательно увеличивать изображение, надо бы мне сначала научиться увеличивать в нужном направлении. Картинки вместе склеены и общая картинка переведена в мувиклип. При этом точка регистрации мувика у меня, скажем в центре. Если мне надо рассмотреть что-то в левом краю карты и я там увеличиваю, то с каждым следующим нажатием кнопки, картинка лошадиными скачками смещается к центру карты (вправо) Как можно увеличивать в центр того, что ты сейчас видишь? |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 18
|
У меня есть 3 предположения
1. Может надо карту делать как картинку а не мувиклип, тогда у картинки не будет точки регистарции. Но я не знаю лексикона - т.е. какие коды надо вписывать вместо онПресс, онРелиз,... чтоб воздействовать на рисунок 2 Может надо как-то отредактировать мувиклип(общую карту) чтоб уничтожить точку регистрации 3 Может есть какой-то код, чтоб увеличение происходило не в сторону этой "нехорошой" точки регистрации мувиклипа |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
1. Картинки не управляются скриптом
2. Точку регистрации, к счастью, уничтожить невозможно. Благодаря ей Вы можете управлять координатами своей карты. 3. А вот это именно так. Необходимо не только увеличивать карту, но и смещать ее в нужное место.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 18
|
Привет всем.
Берусь опять за работу. Перед тем как научиться плавно( последовательно) увеличивать карту , надо бы мне научиться увеличивать в центр того фрагмента карты, который я сейчас вижу, а не в центр всей карты, где у меня выставлена точка регистрации. Может можна програмно как-то увеличивать карту в виде битмап, а не в виде мувиклипа? В битмапе нет точки регистрации. Есть шанс, что будет увеличиватся правильно. Но какие коды надо использовать? (вместо онПрес, онРелиз...) А может в мой код надо какую-то писюльку вставить, чтоб оно игнорировало точку регистрации? А может этот мувиклип состоящий с карты можна так отредактировать, чтоб уничтожить эту точку регистрации? Кто знает? |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 18
|
Извеняюсь Wolsh. Браузер подглючил и я неувидел последнего(Вашего) ответа.
Цитата:
До сих пор методом исключения и интуиции я брал какой-то большой код и удалял с него по строчке, но так, чтоб интересующий меня елемент кода работал. Так у меня получались кнопочки, всякие примитивы. Но смещать карту в нужное место - это для меня высшый пилотаж. Это для взрослых! Это круто! Да! Но... ![]() |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну давайте помозгуем)) Итак, на рисунке зеленый прямоугольник - Ваша карта, клип. Его координаты - точка А(х, у). После клика в точку В(х0, у0) карта увеличилась до серого прямоугольника, его координаты остались те же, но наша точка В уехала вообще из поля видимости
![]() Чтобы вернуть беглянку на место, нам надо сместить серый клип в точку А2(х2, у2). Вот эти х2 и у2 нам и надо узнать. Сложно? Давайте попробуем. Допустим, мы увеличивали при клике в scaler раз. Значит отрезок х_х0 тоже увеличился в scaler раз, и стал отрезком х2_х0. Мы можем узнать его длину: (x0-x)*scaler (x0 это _xmouse в момент клика, а х - координата клипа в момент клика). Ну чтож, теперь осталось только вычесть эту длину из х-координаты точки клика: x2 = x0 - (x0-x)*scaler Вроде несложно.... Для у сами сделаете? ![]()
__________________
Reality.getBounds(this); |
|
|||||
|
проще говоря, то же что описал wolsh, только простыми словами ) ( чесно я сам с раза 4 понял )
возьмите _width уже расширенного ( или посчитайте какой он будет ) отнимите от него, _width тот что был изначально, получите delta _x, вот эту дельта отнимите от _x и переместите на получившейся _x свой MovieClip, тоже самое с _y, только отнимаете из _height конечного, _height начальный, получаете delta _y ) |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ничего подобного. В Вашей интерпретации напрочь отсутствует точка, в которую кликнули. А именно ее я и пытаюсь привести на место.
__________________
Reality.getBounds(this); |
|
|||||
|
эм, помоему задача была равномерно увеличить обьект, как бы вытащить его из далека
хм, если нужно чтобы в точку которую кликнули перемещался мувик и плавно увеличивался, как бы из середины, то собственно к описанному мной способу, нужно просто добавить смещение мувика, в место клика и варавнивание его относительно центра клика %) |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
darksranger, Вы чем читаете? Я говорю не о центрирующем в любом смысле коде, а о сохранении положения точки, в которую кликнули. Допустим что в мувике текст. Кликнув на букву А, я хочу чтобы мувик увеличился, но так, чтобы под мышкой)))) у меня осталась та самая буква А - я вроде как ее хотел увеличить, правда? Вот так он и должен "вытаскиваться издалека", а если заинтересовавшая меня область будет постоянно куда-то убегать, с чем-то там центрируясь, я уйду к тем, кто умеет делать интерфейсы.
Если же предлагается использовать для увеличения кнопки +-, подразумевается что "точка клика" - центр видимой области. Само собой, формулы остаются те же, можно только при желании ввести константы, т.к. точка клика постоянна и заранее известна.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|