Wednesday, January 28, 2015

Keyboard Events Wont Work Unless User Clicks Inside the Flash Movie First and how to remove the yellow border around objects that are in focus

If you find that, for some reason, youll have to click inside your Flash movie first before the keyboard event listeners start working, then try adding a stage.focus statement to your code:
stage.focus = this;

Place this on the main timeline in order to set the focus to your Flash movie. Focus refers to the currently active object in your Flash movie. Whenever you click on something, like a MovieClip or a TextField, it becomes the active object and becomes the object that is in focus. Here, we are setting the focus back to the entire Flash movie without having to click on anywhere inside the movie. This way, the keyboard events that youve created will work right away. Ive encountered this problem a couple of times and I was able to solve them by adding this line. However, adding this line might cause a yellow border to appear around the object that is in focus. If that happens, then try adding this line before the stage.focus statement:
stage.stageFocusRect = false;
stage.focus = this;

That yellow border is the stage focus rectangle which serves to highlight the object that is currently in focus. Here, were setting the stageFocusRect property to false so that the border will not show up.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.