Вход

Просмотр полной версии : Координаты мыши за пределами сцены


orcpochta
19.11.2008, 18:21
Полазил по поиску, нашел сообщение уважаемого iNils-а, что координаты мыши за пределами сцены можно определить только с помощью ява-скрипт.

Но это не всегда так.
Если зажать на сцене мышь и не отпускать, то при выезде за сцену будут даваться "правильные" координаты:
this.onEnterFrame = function():Void {
trace(_xmouse + ' ' + _ymouse);
};

Вот сижу и думаю, как бы так исхитриться, чтобы получать "правильные" координаты не зажимая мышь?

lexa2000lexa
19.11.2008, 18:59
вот пример когда без удерживания покажет что курсор покинул приделы флешки._global.borderWatcher={};
AsBroadcaster.initialize(borderWatcher);
borderWatcher.init = function():Void {
var clip:MovieClip = _root.createEmptyMovieClip("list_clip"+Math.random(), 100000);
clip.lineStyle(1, 0, 0);
clip.beginFill(0, 0);
clip.moveTo(0, 0);
var xMax:Number = Stage.width, yMax:Number = Stage.height;
clip.lineTo(0, yMax), clip.lineTo(xMax, yMax), clip.lineTo(xMax, 0), clip.lineTo(0);
clip.endFill();
clip.useHandCursor = false;
clip.onRollOut = function():Void {
borderWatcher.broadcastMessage("onStageRollOut");
};
clip.onRollOver = function():Void {
borderWatcher.broadcastMessage("onStageRollOver");
};
};
borderWatcher.init();
//**********************************************************
borderWatcher.addListener(info);
info.onStageRollOut = function():Void {
this.text = "Указатель вышел за границы фильма";
};
info.onStageRollOver = function():Void {
this.text = "Указатель вошел в границы фильма";
};

orcpochta
19.11.2008, 19:01
еще бы и координаты получать..))

UPD: кстати, код не работает - что я не так делаю?

lexa2000lexa
19.11.2008, 19:10
а что именно не работает? Я думаю вы кинули текстовое поле на сцену с именем info или я ошибаюсь)?

orcpochta
20.11.2008, 12:38
а что именно не работает? Я думаю вы кинули текстовое поле на сцену с именем info или я ошибаюсь)?

Извините, все работает. Вчера в торопях не вглядываясь в текст тупо копи-пастнул - не заработало, увидел, что info нигде не объявляется, объявил info как Object, ничего не дало, отписался и убежал.

Это все хорошо, но меня вопрос получения координат за сценой мучает давно. Хотелось бы как-то на основе взаимствования стандартных классов создать пользовательский класс, в котором будут немного видоизменены или дополнены стандартные методы, с помощью которого можно будет получать координаты за сценой.
Почему-то мне кажется очевидным, что если с зажатой мышой можно получить координаты, то с помощью каких-то фокусов можно получить их и без зажатой мыши - хотя может я и глубоко ошибаюсь, но хочется верить...)))

Если я не решу эту задачу, она взорвет мне мозг...)))