Creating a custom mouse pointer

A standard mouse pointer is the operating system's onscreen representation of the position of the user's mouse. By replacing the standard mouse pointer with one you design in Flash, you can integrate the user's mouse movement within the SWF file more closely. The sample in this section uses a custom pointer that looks like a large arrow. The power of this feature, however, lies in your ability to make the custom pointer look like anything—for example, a football to be carried to the goal line or a swatch of fabric pulled over a couch to change its color.

To create a custom pointer, you design the pointer movie clip on the Stage. Then, in ActionScript, you hide the standard pointer and track its the movement. To hide the standard pointer, you use the Mouse.hide() method of the built-in Mouse class. To use a movie clip as the custom pointer, you use the startDrag() action. To see an animated demonstration of a custom pointer, move your mouse pointer over the SWF file below.

To create a custom pointer:

  1. Create a movie clip to use as a custom pointer, and place an instance of the clip on the Stage.
  2. Select the movie clip instance on the Stage.
  3. Select Window > Development Panels > Actions to open the Actions panel if it is not already visible.
  4. Type the following in the Actions panel:
    onClipEvent (load) {
      Mouse.hide();
      startDrag(this, true);
    }
    onClipEvent(mouseMove){
      updateAfterEvent();
    }
    

    The first onClipEvent() handler hides the mouse when the movie clip first appears on the Stage; the second handler calls updateAfterEvent whenever the user moves the mouse.

    The updateAfterEvent function immediately refreshes the screen after the specified event occurs, rather than when the next frame is drawn, which is the default behavior. (See updateAfterEvent().)

  5. Select Control > Test Movie to test your custom pointer.

Buttons still function when you use a custom pointer. It's a good idea to put the custom pointer on the top layer of the Timeline so that it moves in front of buttons and other objects as you move the mouse in the SWF file. Also, the tip of a custom mouse pointer is the registration point of the movie clip you're using as the custom pointer. Therefore, if you want a certain part of the movie clip to act as the mouse tip, set the registration point coordinates of the clip to be that point.

For more information about the methods of the Mouse class, see Mouse class.