Форум 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)
-   -   startDrag до пересечения мувиклипов (http://www.flasher.ru/forum/showthread.php?t=135658)

Maxish 28.01.2010 17:11

startDrag до пересечения мувиклипов
 
Прошу прощения за скромные познания в области программирования, прошу прощения за использование AS2, но очень нужна помощь.

Задача - перетаскиваем один мувиклип на другой. При событии отпускания мышки - исчезновение перетаскиваемого клипа и проигрывание статического второго мувиклипа.

Моё решение:
Код AS1/AS2:

round1_mc.onPress = function(){
        this.startDrag();
        round1_mc.play();
}
round1_mc.onRelease = function(){
        round1_mc.stopDrag();
}
if(_root.round1_mc, hittest(_root.dom_mc)){
 
        dom_mc.play();
        round1_mc.removeMovieClip();
}

Все на первый взгляд просто, но я не справился.... Заранее благодарю за помощь

Hauts 28.01.2010 17:19

Код AS1/AS2:

round1_mc.onPress = function(){
        this.startDrag();
        round1_mc.play();
}
round1_mc.onRelease = function(){
        round1_mc.stopDrag();
}
if(_root.round1_mc.hitTest(_root.dom_mc)){
 
        dom_mc.play();
        round1_mc.removeMovieClip();
}


Maxish 29.01.2010 14:49

Спасибо, но не помогло

lexa2000lexa 29.01.2010 14:53

а что именно у вас не получаеться?

Hauts 29.01.2010 15:48

Код AS1/AS2:

round1_mc.onPress = function(){
        this.startDrag();
        round1_mc.play();
}
round1_mc.onRelease = function(){
        this.stopDrag();
        if(this.hitTest(_root.dom_mc)){
                dom_mc.play();
                this.removeMovieClip();
        }
}


Maxish 02.02.2010 15:56

Проблема в том, что мне нужно хиттестить сложную форму (условие для прямоугольников можно, в принципе, и покоординатно задать).

Повторюсь: Как сделать hitTest при перетаскивании одного сложного (графически) обьекта на другой? Может, есть смысл обойти hitTest и решить задачу по-другому? В таком случае как это реализовывается?


И еще один "ламерский" вопрос. Извините. Какой обработчик событий нужно использовать, чтобы проверка соприкасания объектов выполнялась только один раз. Я использовал onEnterFrame не подходит.

Maximer 02.02.2010 19:10

можно использовать onEnterFrame, только потом написать

Код AS1/AS2:

delete this.onEnterFrame;



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

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