![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
Скажите как можно реализовать перемещение объекта (это муви клип). В моем случае это карта.
Последний раз редактировалось General303; 27.01.2011 в 14:48. |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 950
|
Читайте про startDrag.
|
|
|||||
|
Модрон-ветеринар
|
Есть много способов, в зависимости от того, как вы хотите двигать:
1) таскать мышкой; 2) двигать, нажимая на кнопочки со стрелками; 3) двигать, просто водя мышкой. - и еще... Есть много способов решения для каждого случая. Например с помощью startDrag-stopDrag самый простое решение для (1), но не самое лучшее в большом количестве случаев, а иногда и просто неприменимое. В общем, мало инфы.
__________________
Идите первым! Последний раз редактировалось mooncar; 27.01.2011 в 14:48. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
В моем случае тоскать мышкой, zoom и кнопочки со стрелочками я уже сделал.
Карта это мувик внутри которого идут объекты (названия точки и.т.д.) Должны перемещаться вместе с картой Почитав про startDrag. Нашел кое что подходящее. http://www.flasher.ru/forum/showthre...ight=startDrag Единственное что не понятно из этого кода как задать функцию движение по Х. var y0:Number; for (i in cont_mc) { var mc:MovieClip = cont_mc[i]; mc.onPress = mcOnPress; mc.onRelease = mc.onReleaseOutside = mcOnRelease; } function mcOnPress() { this.startDrag(false, this._x, 100, this._x, -100); y0 = this._y; }; function mcOnRelease() { this.stopDrag(); if (y0 - this._y == 0) { someFunc(this); } }; function someFunc(mc:MovieClip) { trace('Трогали ' + mc + ' - не было перемещения'); } Последний раз редактировалось General303; 27.01.2011 в 15:10. |
|
|||||
|
синтаксис:
пример: l,t,r,b - это ограничения области перетаскивания.
__________________
Дети не должны знать о своих родителях Последний раз редактировалось Tails; 27.01.2011 в 15:19. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
Tails
Получилось только почему то при нажатие объект смещается в лево. |
|
|||||
|
Либо центр объекта привязываеться к мыше (чтоб это убрать, нужно выставить в страрт драге второй параметр false вместо true), либо с кординатами области перетаскивания чевото нетак.
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
Цитата:
var y0:Number; for (i in cont_mc) { var mc:MovieClip = cont_mc[i]; mc.onPress = mcOnPress; mc.onRelease = mc.onReleaseOutside=mcOnRelease; } function mcOnPress() { startDrag(cont_mc, true, 0, 0, 500, 400); startDrag(cont_mc, false, 0, 0, 500, 400); } function mcOnRelease() { this.stopDrag(); startDrag(cont_mc, true, 0, 0, 500, 400); startDrag(cont_mc, false, 0, 0, 500, 400); { someFunc(this); } }; function someFunc(mc:MovieClip) { trace('Трогали '+mc+' - не было перемещения'); } . После того как мувик схватил он прилипает к курсору и не возможно его положить. |
|
|||||
|
Удалите у себя стоп драг, и добавте в конец кода такую функцию:
stopDrag() - глобальный, ему не нужно указывать чего отцеплять.
__________________
Дети не должны знать о своих родителях Последний раз редактировалось Tails; 27.01.2011 в 15:39. |
|
|||||
|
Регистрация: Jan 2011
Сообщений: 29
|
Все спасибо разобрался
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|