PDA

Просмотр полной версии : Как вычислить мышиный клик


Olesolo
06.06.2006, 15:34
как сделать так, чтобы на кнопке размером 100х100, отслеживался Press or Release в двух зонах (на этой же кнопке), в верхней и нижней?

т.е., я могу нажать на верхнюю часть, произойдет одно действие, нажму на нижнюю - другое.

geha
06.06.2006, 15:37
Может нарисовать одну кнопку, поверх неё сверху и снизу - две прозрачне кнопки с разными действиями?

Olesolo
06.06.2006, 15:40
не... на этой кнопке есть функции RollOver и RollOut
а мне надо, чтобы клики работали при RollOver.
если же я сделаю еще пару кнопарей, то при наведении на них, срабатывает RollOut

Reijii
06.06.2006, 15:45
а если попробовать сделать movieClip, внутри которого будут, две "зоны", при onRollOver на всем мувике будут вести себя как цельная кнопка, а при onRelease, проверять hitTest для каждой из зон, и делать соответствующее действие..

или же чтобы уйти от hitTest, не вешать на мувик в котором будет енто все находится никаких событий, то есть onRollOver вешить на каждую из зон в отдельности.

geha
06.06.2006, 15:48
так может сделать две кнопки в одной кнопке? при наведении на всю кнопку работает и ролловер и роллаут, а на вторые кнопки - нужные действия? а?

Olesolo
06.06.2006, 15:52
вот исходник...
хочу сделать, чтобы можно было отдельно кликнуть и на крышку и на бутылку...
у меня ступор просто какой то, уже день бьюсь немогу нефига сделать, тупняк вообщем...

elzone
06.06.2006, 16:49
то или нет?

Reijii
06.06.2006, 17:02
так может сделать две кнопки в одной кнопке? при наведении на всю кнопку работает и ролловер и роллаут, а на вторые кнопки - нужные действия? а?

я бы советовал вообще кнопки не использовать. хотя это мое личное мнение, movieClip ничем не хуже, а местами и лучше кнопок, а во-вторых, я не уверен что даже при использовании вложенных кнопок, верхняя кнопка не будет "забирать" все события на себя, и все равно прийдется делать hitTest.

Olesolo
06.06.2006, 17:08
2elzone:
нет. не то. ты запускал хоть его?

Olesolo
06.06.2006, 17:11
2Reijii:
дело в том, что если я заменяю кнопку на мувиклип и привязываю ей скрипт то он не работает. :\ а на кнопаре - работает.

Reijii
06.06.2006, 17:16
2Reijii:
дело в том, что если я заменяю кнопку на мувиклип и привязываю ей скрипт то он не работает. :\ а на кнопаре - работает.

а как ты его "привязываеш" ? кинь сюда, только пользуйся тэгами "[code]"

elzone
06.06.2006, 17:32
извини тогда не внимательно прочитал
вот новый вариант

Olesolo
06.06.2006, 17:42
2elzone:
ага... ну это уже на что то похоже :)
только кнопарей там уйма :)

2Reijii:

on (rollOver, dragOver) {
this.scale = 1;
for (i=1; i<=_root.numButtons; i++) {
_root["button"+i].swapDepths(1);
}
this.swapDepths(2);
gotoAndPlay(2);
}
on (rollOut, dragOut) {
this.scale = 0;
gotoAndPlay(16);
}

Reijii
06.06.2006, 17:56
2elzone:
ага... ну это уже на что то похоже :)
только кнопарей там уйма :)

2Reijii:

on (rollOver, dragOver) {
this.scale = 1;
for (i=1; i<=_root.numButtons; i++) {
_root["button"+i].swapDepths(1);
}
this.swapDepths(2);
gotoAndPlay(2);
}
on (rollOut, dragOut) {
this.scale = 0;
gotoAndPlay(16);
}


onClipEvent... зло ;) используй лучше movieClip.onRollOver = function() {}

Olesolo
06.06.2006, 18:29
не помогло..

Olesolo
06.06.2006, 20:21
делаю, так как предложил elzone. тупо, но работает :)
спасибо, elzone!