我想用自定义图形替换当使用buttonMode = true悬停在动画片段上时出现的小手柄。
有没有办法在我的整个应用程序中全局执行此操作,或者我必须转到每个按钮,添加MOUSE_OVER,MOUSE_OUT和MOUSE_MOVE处理程序,这些处理程序将隐藏并显示鼠标光标以及将handgraphics置于其上并定位它正确吗?
似乎乏味......
答案 0 :(得分:1)
似乎有办法改变原生光标; http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/ui/Mouse.html#registerCursor()
但你必须只针对Flash Player 10.2+ ...
答案 1 :(得分:-1)
您可以编写一组MOUSE_OVER,MOUSE_MOVE和MOUSE_OUT处理程序,按照您的描述进行替换和定位,然后将侦听器添加到指向这些处理程序的所有按钮。请记住,相同的处理程序可用于多个对象。
或者,假设您的“按钮”是MovieClip,您可以编写一个自定义ActionScript类来扩展MovieClip,定义此默认功能,然后让所有按钮实例使用此类作为基础。见下文:
public class ButtonMovieClip extends MovieClip {
public function ButtonMovieClip() {
addEventListener(MouseEvent.MOUSE_OVER, buttonOver);
addEventListener(MouseEvent.MOUSE_OUT, buttonOut);
addEventListener(MouseEvent.MOUSE_MOVE, buttonMove);
}
public function buttonOver(event:MouseEvent) {
//Hide mouse and add replacement graphic
}
public function buttonOut(event:MouseEvent) {
//Show mouse and remove graphic
}
public function buttonMove(event:MouseEvent) {
//Position graphic where mouse should be
}
}
然后关键是确保所有按钮都是从这个类创建的(通过代码或从Flash IDE中创建)。