![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2009
Сообщений: 105
|
Здравствуйте.
Проблема в следующем: Есть мувик mc (копилка), при нажатии на который происходит его масштабирование mc.onRelease = function() { this.onEnterFrame = function() { //масштабирование mc ... } else { delete this.onEnterFrame; } }; Реализована возможность помещения монеты в копилку myDragger(mc_m) function myDragger(mc:MovieClip) { mc.onPress = function() { this.startDrag(false); mc.onMouseMove = function() { updateAfterEvent(); }; }; mc.onMouseUp = function() { if (//монета в нужном месте) { { ... mc.onEnterFrame = function() { //перемещение монеты в копилку } else { delete mc.onEnterFrame; } }; }; } else { //перемещение монеты в начальную позицию ... } delete mc.onMouseMove; stopDrag(); }; } Подскажите, пожалуйста, в чем ошибка и как ее устранить. Спасибо! Последний раз редактировалось zelik; 12.05.2009 в 21:43. Причина: уточнение |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 105
|
Всем доброго дня!
По следуещей ссылке уже пытался найти помощь, но, видимо, проблема осталась не понятой.. http://www.flasher.ru/forum/showthread.php?t=124927 Попробую изложить по-другому. Есть мувик mc, в который вложены мувики mc1,mc2. Для mc1,mc2 реализован drag-and-drop. Все работает. Если для mc прописываю onRelease(), то drag-and-drop перестает работать. Пожалуйста, обясните, в чем проблема и как ее устанить. Заранее большое спасибо! |
|
|||||
|
У меня была такая же проблема, мне обьяснили что если на родительском мувике есть код, то код дочерних работать не будет, попробуйте обойтись без этого, например создать отдельный мувик полностью прозрачный над теми двумя и при нажатии и удержании на нем курсора двигались те два.
__________________
http://merfius.weebly.com/ |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 105
|
Спасибо!
Интересно, но хотелось бы понять принцип... Это же часто встречающаяся ситуация. Неужели все используют дополнительный прозрачный мувик? Последний раз редактировалось zelik; 13.05.2009 в 15:44. |
|
|||||
|
Модрон-ветеринар
|
Создайте слушатель и проверяйте при onMouseDown, выполняется ли hitTest у mc с позицией мыши. Тогда никакие onRelease не нужны.
Добавлено через 8 минут Можно и на отпускание кнопки - тогда эмулируется поведение как у onRelease в точности: var mouseListenerOn:Object = new Object(); //слушаем попадание mouseListenerOn.onMouseUp= function() { if (mc.hitTest(_root._xmouse, _root._ymouse)) { //код, что делать при "нажатии" на mc } }; Mouse.addListener(mouseListenerOn); И когда надо, убиваем слушатель. |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 105
|
Спасибо, mooncar. Так тоже работает.
А есть возможноть изменить курсор при наведении? А когда надо убивать слушатель при том, что mc может вызываться неоднократно? |
|
|||||
|
Модрон-ветеринар
|
Ответ вынес в новую тему.
Последний раз редактировалось mooncar; 13.05.2009 в 19:14. |
|
|||||
|
Немного не по теме, но...
мне одному этот код кажется странным?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Mar 2009
Сообщений: 105
|
Если не сложно, то поясните, в чем странность!
|
|
|||||
|
Модрон-ветеринар
|
А что с кодом не так?
У меня есть, например, такой кусок, использую для всплывающих подсказок, здесь тоже убивается ненужная ф-я: targetmc.onRollOver = function(){ this.onMouseMove = function(){ this["popup"]._visible = true; this["popup"]._x = _xmouse; this["popup"]._y = _ymouse - 30; }; }; targetmc.onRollOut = function(){ this["popup"]._visible = false; delete this.onMouseMove; }; Убивается же не сам метод, а определяемая функция. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:13. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|