< Day Day Up > MakingtheMostofAttachingMouseEventstoMovieClipsMovie clip instances can also have attached mouseevents (as shown in the preceding exercise). To make themostof this powerful capability, you need to be aware of a few things: • To cause a movie clip to be treated as a button, simply attach a mouse event to it. Under most circumstances, you cannot attach both mouseevents and clip eventsto a single instance. However, you can use event handler methods (discussed later in this lesson) to set a movie clip instance to react to both mouse and clip events. • When a movie clip instance is assigned mouseevents so that Flash recognizes it as a button, it retains all of its movie clip functionality. • When a movie clip instance is assigned mouseevents so that Flash recognizes it as a button, a hand cursor will appear when the user places his or her mouse over it. If you want a movie clip instance to act like a button but don't want the hand cursor to appear, set the useHandCursor property ofthe instance to false with a rollOver event: • • on (rollOver) { • • this.useHandCursor = false; • • } • The useHandCursor property can be set for button instances as well (covered later). • Although you can place mouseevents on movie clip instances, you cannot place clip events on button instances (as we'll discuss later in this lesson). • Button instances can be assigned instance names, and they have properties similar tomovie clip instances (for example, _alpha, _rotation, _y, and so on). Thus, if you give a button an instance name of myButton_btn, you can change its transparency using myButton._alpha = 50. • Although you can assign instance names to buttons (and they're treated similarly tomovie clip instances, employing properties and methods), buttons aren't independent timelines, while movieclips are—an important thing to remember when using the term this as a target path. For example, if you were to place the following script on a movie clip instance, the instance itself would rotate: • • on (press) { • • this._rotation = 30; • • } • However, if you were to place the same script on a button, the button's parent will rotate. Think of it this way: movie clip instances are timelines, even when attachingmouseevents so that Flash recognizes them as buttons. In addition to having properties and methods, buttons can be given instance names. They are still part of a timeline, not timelines themselves. You might ask, because movieclips can be treated as buttons while they maintain all of their powerful movie clip instance capabilities, why use standard buttons at all? Primarily because a button's up, over, and down states are still much easier to re-create and implement using an actual button. For quick and easy button functionality, use button instances. For highly sophisticated button functionality, use movie clip instances with mouseevents attached to them. • If you use a movie clip instance as a button, you can place three special frame labels (_up, _over, _down) on a movie clip's timeline to easily facilitate themovie clip button's appearance when themouse interacts with it (though you aren't required to do this in order to use a movie clip instance as a button). • By default, the hit area of a movie clip button will be the shape and area of any graphical content it contains. You can change the hit area at any time by defining its hitArea property. For example, this script will set a movie clip instance as the hitArea of a movie clip button: • • myClipButton_mc.hitArea = _root.myHitClip_mc; • This property is available only tomovie clip buttons, not standard buttons. < Day Day Up > . Day Up > Making the Most of Attaching Mouse Events to Movie Clips Movie clip instances can also have attached mouse events (as shown in the preceding. exercise). To make the most of this powerful capability, you need to be aware of a few things: • To cause a movie clip to be treated as a button, simply