PDA

Просмотр полной версии : hittest и неактивная флэшка


trace87
26.06.2009, 21:13
Есть такая проблемка:
_root.onEnterFrame = function(){
if(_mc.hitTest(_root._xmouse, _root._ymouse, false)){
trace("call")
}
}
наводим выводится трэйс, отводим останавливается.

собственно сама проблема: когда флэха находится сзади, допустим окна аськи, а курсор в окне аськи, через окно аськи мы наводим на на половинку квадратика (окно аськи наполовину перекрывает его), трэйс выводтся, а потом так же курсор перемещаем назад в окно аськи, и вот тут очень стает интиресно!: почему трейс продолжает выводится!!!??? я так понимаю, что флэха до сих пор продолжает думать что курсор находится "в ней". вот как этого избежать??? хэлп ми плиззз (((

Avid
17.07.2009, 01:52
наверное никак , можно уменьшить вероятность повысив число кадров в секунду)))
ты выводишь курсор после того, как выполнен хиттест, но до следующего входа в кадр

Добавлено через 23 часа 25 минут
Вобщем создай в своей флехе экземпляр кнопки,область срабатывания рисуешь размером со сцену,
пишешь кнопочные обработчики оn (RollOut){} on(RollOver){}
если тебе нужно знать когда мышь находится в окне проигрывателя, то
on(RollOver){
trace("мышь в окне");}
оn (RollOut){
trace("мышь не в окне");}
если тебе нужно, чтобы содержимое сцены реагировало на вывод курсора из проигрывателя, создаешь для каждого из объектов статическое свойство в их конструкторе, к примеру
static public var hit:Boolean=false;

тогда
on(RollOver){
obj1.hit=true;
obj2.hit=true;}

оn (RollOut){
obj1.hit=false;
obj2.hit=false;}

переменную hit используешь в методе onEnterFrame своих клипов.