首先,创建按钮并设置其初始外观。例如:
var myBtn:SimpleButton = new SimpleButton(); myBtn.upState = new BtnUp(); myBtn.overState = new BtnOver(); myBtn.downState = new BtnDown(); myBtn.hitTestState = new BtnHit();
其中,BtnUp、BtnOver、BtnDown和BtnHit分别代表按钮的不同状态(正常、鼠标悬停、按下和点击区域),可以使用位图、矢量或其他显示对象来创建。
接下来,为按钮添加按下事件侦听器,并在事件处理函数中更改按钮的外观。例如:
myBtn.addEventListener(MouseEvent.MOUSE_DOWN, onBtnDown);
function onBtnDown(e:MouseEvent):void { myBtn.downState = new BtnDownSelected(); }
其中,BtnDownSelected代表按钮按下时的另一种外观。在事件处理函数中,将按钮的downState属性设置为该外观即可。
完整代码示例:
var myBtn:SimpleButton = new SimpleButton();
myBtn.upState = new BtnUp();
myBtn.overState = new BtnOver();
myBtn.downState = new BtnDown();
myBtn.hitTestState = new BtnHit();
myBtn.addEventListener(MouseEvent.MOUSE_DOWN, onBtnDown);
myBtn.addEventListener(MouseEvent.MOUSE_UP, onBtnUp);
myBtn.addEventListener(MouseEvent.MOUSE_OUT, onBtnOut);
function onBtnDown(e:MouseEvent):void {
myBtn.downState = new BtnDownSelected();
}
function onBtnUp(e:MouseEvent):void {
myBtn.downState = new BtnDown();
}
function onBtnOut(e:MouseEvent):void {
myBtn.downState = new BtnDown();
}
addChild(myBtn);
其中,BtnUp、BtnOver、BtnDown、BtnHit、BtnDownSelected分别代表不同状态的按钮外观,可以根据需要自行创建。在事件处理函数中,根据按钮的不同状态更改按钮的外观即可。