PDA

Просмотр полной версии : Переопределение событий дочерних мувиклипов


Vovtis
03.10.2007, 17:18
Все мы когда то сталкивались с ситуацией когда необходимо отловить событие дочернего мувиклипа. Два дня назавд и я впервые столкнулся с такой же ситуацией. Первым делом я конешно посмотрел FAQ на этом форуме. Да, там был ответ, ссылка на клас написанный многоуважаемым silinом. Долго я изучал этот клас и понял что клас это хорошо но нужно еще и уметь его использовать, а вот это казалось совсем уже сложным для новичка в АС, коим я и являюсь. По этому для других новичков хочу немного упростить метод, что бы было понятнее.
Итак. Имееться два мувиклипа mc1 и mc2. mc2 вложенный в mc1. Задача отловить события onRollOver, onRollOut, onPress мувика mc2. Код вставляем в mc1:


var IsOver = false; //мышь над мувиклипом или нет.

this.onRollOver = function () {
trace (this); //или другой код
};

this.mc2.onRollOver = function () {
trace (this + " onRollOver"); //или другой код
};

this.mc2.onRollOut = function () {
trace (this + " onRollOut"); //или другой код
};

this.mc2.onPress = function () {
trace (this + " Pressed"); //или другой код
};

// обрабатываем onMouseMove клипа mc1 и hitTest mc2
// отвечает за события onRollOver и onRollOut
this.onMouseMove = function(){
if (this.mc2.hitTest(_root._xmouse, _root._ymouse, true)) {
if (IsOver == false) {
this.mc2.onRollOver();
IsOver = true;
};
} else {
if (IsOver == true) {
this.mc2.onRollOut();
IsOver = false;
};
};
};

// отвечает за события onPress mc2
this.onMouseUp = function () {
if (this.mc2.hitTest(_root._xmouse, _root._ymouse, true)) {
this.mc2.onPress();
}
};

CorC
04.10.2007, 10:41
Это вы для себя написали? :)

Vovtis
04.10.2007, 12:56
Для начинающих. Поскольку видел что вопросы по этой теме были. И видел ответы на эти вопросы. Знаю как иногда отвечают (что отвечали а что не отвечали, нет разницы), вот и решил что может кому то и поможет. Ведь так действительно понятнее.

s8000_1
30.10.2007, 03:27
Спасибо... А то заколебался искать решение проблемы. После AS3 сложно перестраиваться на AS2 =)

Snut
30.10.2007, 11:12
s8000_1,

После AS3 сложно перестраиваться на AS2 =)


Код вставляем в mc1:


судя по этим словам это АС1 :) ну это так... для галочки