PDA

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


serg1980
17.08.2007, 11:14
У меня, как у начинающего программитса во flash возникла сложность, дабы не листать горы мануалов по Action Script хочу попросить помощи у специалистов.
Есть несколько слоев на главной временной шкале. В каждом слое располагается movie клип. Как сделать так, чтобы каждый клип обрабатывал событие onPress. По умолчанию только один клип перехватывает и обрабатывает события мыши.

Infectedcell
17.08.2007, 11:43
присвой клипам Instance name b0, b1, b2......
и либо циклом перебирай

b0.myFunction = моя функция0
b1.myFunction = моя функция1
b2.myFunction = моя функция2
mListener = new Object();
mListener.onMouseMove=function() {
for (i-0;i<MC_qty;i++){
var mc:MovieClip = this['b'+i]
// событие для мувика, например:
mc.onPress=function() {
this.myFunction;
}
}
}
Mouse.addListener(mListener)

хотя бы так, хотя зачем я здесь мауслистнер использую... не знаю, перебирать кучу клипов на движение мыши - ЖЕСТЬ =)
скорее onEnterFrame...
или вообще:

b0.onPress=function () {
//событие1
}
b1.onPress=function () {
//событие2
}
b2.onPress=function () {
//событие3
}
etc...

дубово, зато зато прикольно =)

serg1980
17.08.2007, 13:43
1 вариант слишком корявый. 2 вариант не работает. Самый верхний клип перехватывает и обрабатывает событие мыши. Остальные остаются не обработанные.

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

iNils
17.08.2007, 14:01
serg1980, как начинающий программист, вы не внимательны. В описании раздела "Общие вопросы" сказано, что обсуждают вопросы НЕ затрагивающие ActionScript.
Кроме того, есть кнопка http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, поэтому не надо создавать несколько сообщений подряд, надо исправить последнее в теме.