PDA

Просмотр полной версии : Как узнать, что под курсором кнопка?


LOST DEMON
30.01.2009, 11:14
Всем известно, что стандартный курсор можно скрыть, а отображать свой нарисованный...
Но тут возникает проблема...
Если под курсором кнопка, то хорошо бы заменить "Стрелку" на "Палец":D
Для этого нада в нашем нарисованном курсоре создать 2-ой кадр с "пальцем " и перейти к нему...
Но вот как узнать, что под курсором кнопка???????
Объясните, плиз...

scarbo
30.01.2009, 11:29
элементарно,использовать свойства onRollOver и onRollOut кнопки.,ну или hitTest()

cdc7600
30.01.2009, 11:32
button.useHandCursor=true; попробуйте дописать ещё

LOST DEMON
30.01.2009, 11:36
элементарно,использовать свойства onRollOver и onRollOut кнопки.,ну или hitTest()

Это для конкретной кнопки....
А если их штук 200 - для каждой-то не будешь прописывать...
Я спрашивал конкретно - есть какой листинер иль там че другое, чтобы узнать под курсором кнопка или нет...

chingachgoog
30.01.2009, 12:03
Перебором с hitTest()
Но там есть свои подводные камни.

Wolsh
30.01.2009, 14:02
Ну если Вы написали двести обработчиков для этих кнопок, то добавить теперь в каждый одну строку вызова изменения курсора не проблема, можно автореплейсом воспользоваться) А уж если назначения в цикле, то и вовсе в чем проблема?

crazyone
30.01.2009, 16:02
Если вы не пользуетесь событиями onRollOver и onRollOut для кнопок, достаточно будет использовать Button.prototype, чтобы разом задать onRollOver и onRollOut всем объектам класса Button:

startDrag(_cursor,true);

function standartCursor(){
Mouse.show();
_cursor._visible=false;
}
function customCursor(){
Mouse.hide();
_cursor._visible=true;
}

Button.prototype.onRollOver=function(){
standartCursor();
}
Button.prototype.onRollOut=function(){
customCursor();
}

customCursor();

LOST DEMON
31.01.2009, 12:14
crazyone, спасибо за инфу!
Хорошо бы еще придумать, чтоб как-нибудь задать события onRollOver и onRollOut индивидуальные для каждой кнопки...все-таки они очень нужны...подскажите, может есть аналогичные события, вроде там чего-то, например, через hitTest () мона сделать? Или есть другие аналогичные события?