Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   инициация события (http://www.flasher.ru/forum/showthread.php?t=76345)

lemegeton 03.03.2006 17:11

инициация события
 
Народ, как инициировать событие movieClip - onPress. Есть объект (www), при нажатии на который, атачит в _root объект (obj). А объект obj связан с классом, в котором прописано что делать при событии onPress. Так вот как мне сделать так, что бы при нажатии на первый объект иницировалось событие onPress объекта obj. Подскажите


Короче въехал...
надо в коде события onPress первого объекта написать
_root.obj.onPress(true);

тада работает...Только событие onRelease объекта obj не срабатывает, а срабатывает только тогда когда непосредственно нажать и отпустить кнопку мыши... ЧТО ДЕЛАТЬ??? :)

silin 03.03.2006 17:26

просто вызвать obj.onPress() там где это нужно..

lemegeton 03.03.2006 17:27

дружище я уже понял а как сделать так что бы и onRelease сработал, если я событие onPress программн вызвал а не кнопкой мыши?

silin 03.03.2006 17:36

просто вызвать obj.onRelease() там где это нужно ..

lemegeton 03.03.2006 17:42

прикольно :) только я не знаю когда и где его вызывать :) Фича в том, что по событию onPress инициируется событие onMouseMove, так вот когда прекратится событие mouseMove я не знаю...Есть ваще вариант отработать onMouseUp, но на мой взгляд это как -то некорректно, все таки событие получается для всего мувика а его перегружаю в одном конкретном случае... или я что-то не понял???

silin 03.03.2006 17:55

>>только я не знаю когда и где его вызывать

приходи когда узнаешь :), и спроси внятно, чего добиваемся и что не работает..

lemegeton 06.03.2006 10:29

И снова здрастье!!! Вообщем есть клип. Надо организовать перетаскивание по нажатию на этот клип. Т.е. по нажатию на мувик должен появиться мувик который будет "бегать" за мышкой. Вот как делаю я:
С клипом obj связываю класс, где перегружаю функицию onPress
В ней пишу, что надо аттачить мувик mc_1 c именем MC1 в _root
Мувик mc_1 связан с классом в котором перегружены функции onPress и onRelease
Функция onPress передает мувику координаты мыши и делает обратный вызов функции onMouseMove, в которой также передаются мувику координаты мыши. Т.е. простое перетаскивание объекта.
Функция onRelease удаляет событие onMouseMove, что бы после отпускания кнопки мыши мувик не тоскался за курсором.
ВСЕ!!!
Так вот проблема в том, что если я пишу в классе который связан с первым мувиком obj
function onPress()
{
...
_root.MC1.onPress();
}
то второй мувик начинает следовать за курсором мыши НО при отпускании кнопки мыши ничего не происходит, т.е. событие release не происходит...
Вот уважаемый silin и вся ситуация!

Antares 06.03.2006 10:43

Ну так сделать так, чтобы происходило -- тебе выше объяснили, как.

lemegeton 06.03.2006 10:50

Да елки палки, Вы что издеваетесь надо мной??? КАК??? КАК ЭТО СДЕЛАТЬ??? Если бы я знал то наверное бы к Вам не обращался...Фишка в том что я не знаю в каком месте вызывать onRelease второго объекта, потому что не знаю где и когда пользователь отпустит кнопку мыши!!! Поэтому и спрашиваю как эту проблему решить??? Может надо программное что - то еще написать, какие-либо переменные установить что бы автоматически срабатывала onRelease???

meiciuc 06.03.2006 11:31

Код:

function onPress()
{
...
_root.MC1.onPress();
}

_root.MC1.onRelease() не сработает при таком способе инициации. Во всяком случае, у меня, никогда не получалось

если пишете obj.onPress, то и onRelease & onReleaseOutside должны быть для того-же объекта. Т.е., если начинаете перемещать объект (не важно какой) при вызове obj.onPress, то и остановка "таскания" в данном случае должна происходить при вызове события obj.onRelease или obj.onReleaseOutside.


Часовой пояс GMT +4, время: 11:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.