我是ActionScript3和Flash的新手。 我知道是否在按钮实例中(其中有Up,Over,Down和Clicked帧,相对于upState,overState和downState)可以添加其他帧以使用相同的方法调用。
我需要这样的东西:
if(...){
Button.upState = Button.MyOwnFrame;
}
提前致谢!
答案 0 :(得分:0)
您可能需要查看SimpleButton
课程,因为它允许您将任何DisplayObject
分配到不同的州upState
,overState
,downState
,和hitTestState
。
以下是Adobe API参考中的示例:
package {
import flash.display.Sprite;
public class SimpleButtonExample extends Sprite {
public function SimpleButtonExample() {
var button:CustomSimpleButton = new CustomSimpleButton();
addChild(button);
}
}
}
import flash.display.DisplayObject;
import flash.display.Shape;
import flash.display.SimpleButton;
class CustomSimpleButton extends SimpleButton {
private var upColor:uint = 0xFFCC00;
private var overColor:uint = 0xCCFF00;
private var downColor:uint = 0x00CCFF;
private var size:uint = 80;
public function CustomSimpleButton() {
downState = new ButtonDisplayState(downColor, size);
overState = new ButtonDisplayState(overColor, size);
upState = new ButtonDisplayState(upColor, size);
hitTestState = new ButtonDisplayState(upColor, size * 2);
hitTestState.x = -(size / 4);
hitTestState.y = hitTestState.x;
useHandCursor = true;
}
}
class ButtonDisplayState extends Shape {
private var bgColor:uint;
private var size:uint;
public function ButtonDisplayState(bgColor:uint, size:uint) {
this.bgColor = bgColor;
this.size = size;
draw();
}
private function draw():void {
graphics.beginFill(bgColor);
graphics.drawRect(0, 0, size, size);
graphics.endFill();
}
}