PDA

Просмотр полной версии : определить находится ли курсор мыши в пределах холста?


Random SunFire
17.07.2008, 15:08
Как определить находится ли курсор мыши в пределах холста (основного мувиклипа) или уже вышел за его пределы?
У меня в зависимости от позиции курсора мыши позицианируется объект. Когда мышь вылетает за пределы холста, объект "застревает", считая, что мышь находится в месте её последней позиции над холстом.

musat
17.07.2008, 15:21
mc.onRollOver = function() {
// ваш код
}

Random SunFire
17.07.2008, 15:29
Гм, а ведь правда!
Только я правильно понимаю, что нужно создать мувик и растянуть его на весь холст и уже на мувик вешать событие?

Alex_beginner
17.07.2008, 16:10
Здравствуйте RandomSunFire!

Для определения входа/выхода за пределы рабочей области пользуйтесь растянутым до рабочей области мувиклипом и обработчиками событий onRollOver и onRollOut.

Random SunFire
17.07.2008, 17:10
ВОспользовался. Но появилась проблема - кнопки под "растянутым до рабочей области мувиклипом" не реагируют на события. Попробовал применить свойство trackAsMenu - не работает...

iNils
17.07.2008, 17:13
В "классическом" варианте проблемы (то есть с использованием кнопок в оригинальное задаче) без js для as1/as2 не обойтись. В as3 есть событие, когда мышь покидает пределы флеша.

Alex_beginner
17.07.2008, 17:15
А что если кнопки поместить в этот мувиклип? Хотя, наверно это не поможет.

Random SunFire
17.07.2008, 17:18
Я взял тестовый клип поместил две кнопки по help-у.
one_btn.trackAsMenu = true; - нижний
two_btn.trackAsMenu = true; - верхний
one_btn.onRelease = function() {
trace("clicked one_btn");
};
two_btn.onRelease = function() {
trace("clicked two_btn");
};
Верхний перекрывает нижний по любому! Почему? Свойство не работает?

iNils
17.07.2008, 17:52
Random SunFire, для оформления своего кода надо использовать теги .

PolusS
06.08.2008, 15:42
По событию работает неплохо, но нужно всем клипам на сцене выше "холстяного" присвоить холстяное поведение онРоллОвер, ибо при наведении на них срабатывает холстяной онРоллОут