Как использовать hitTestPoint при масштабировании фильма - PullRequest
2 голосов
/ 21 октября 2010

Google говорит, что:

displayObject.hitTest(stage.mouseX, stage.mouseY, true)

- это способ проверить, находится ли мышь над объектом DisplayObject. Это работает, если мой фильм отображается в масштабе 100%. Но если развернуть окно моего браузера так, чтобы ролик Flash изменил масштаб, все развалилось.

У кого-нибудь есть способ исправить это, пожалуйста?

Большое спасибо.

1 Ответ

2 голосов
/ 21 октября 2010

Я обычно использую:

 stage.addEventListener(MouseEvent.MOUSE_OVER, functionName);

Но, если у вас есть конкретная причина для использования метода hitTest, вам может потребоваться преобразовать вашу точку из глобальной в локальную координату MovieClip. После масштабирования мувиклипа его координаты x-y больше не отображаются 1-в-1 в координатах сцены. НО, вы можете заставить Flash выяснить, о каких координатах вы говорите, используя:

 yourMovieClip.globalToLocal( yourTestPoint )); // [x=-10, y=0]

Вот ссылка на всю документацию ...

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html

Вы также можете захотеть взглянуть на метод "hitTestObject ()", который делает то же самое, что и hitTestPoint, используя только весь объект ... без баллов!

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...