2016-10-13 00:16:48 点击量:10 标签: 收藏本文
创建SimpleButton 类实例和创建upState,downState,overState和hitTestState等对象。当用户点击按钮时用click事件激活方法
- package {
- import flash.display.Sprite;
- public class Sample1124 extends Sprite
- {
- public function Sample1124()
- {
- var button1:MyButton = new MyButton( "Button 1", 100, 20 );
- button1.x = 20;
- button1.y = 20;
- var button2:MyButton = new MyButton( "Button 2", 100, 30 );
- button2.x = 180;
- button2.y = 20;
- var button3:MyButton = new MyButton( "Button 3", 100, 40 );
- button3.x = 340;
- button3.y = 20;
- addChild( button1 );
- addChild( button2 );
- addChild( button3 );
- }
- }
- }
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.display.Shape;
- import flash.filters.DropShadowFilter;
- import flash.text.TextField;
- import flash.text.TextFormat;
- import flash.text.TextFormatAlign;
- internal class MyButton extends SimpleButton
- {
- private var _text:String;
- private var _width:Number;
- private var _height:Number;
- public function MyButton(text:String,width:Number,height:Number)
- {
- this._text = text;
- this._width = width;
- this._height = height;
- this.upState = CreateUpState();
- this.downState = CreateDownState();
- this.overState = CreateOverState();
- this.hitTestState = upState;
- }
- private function CreateUpState():Sprite
- {
- var sprite:Sprite = new Sprite();
- var background:Shape = CreateColoredRectangle(0x33FF66);
- var text:TextField = CreateTextField(false);
- sprite.addChild(background);
- sprite.addChild(text);
- return sprite;
- }
- private function CreateDownState():Sprite
- {
- var sprite:Sprite = new Sprite();
- var background:Shape = CreateColoredRectangle(0xCCCCCC);
- var text:TextField = CreateTextField(,true);
- sprite.addChild(background);
- sprite.addChild(text);
- return sprite;
- }
- private function CreateOverState():Sprite
- {
- var sprite:Sprite = new Sprite();
- var background:Shape = CreateColoredRectangle(0x70FF94);
- var text:TextField = CreateTextField(false);
- sprite.addChild(background);
- sprite.addChild(text);
- return sprite;
- }
- private function CreateColoredRectangle(color:uint):Shape
- {
- var rect:Shape = new Shape();
- rect.graphics.lineStyle(1,0x000000);
- rect.graphics.beginFill(color);
- rect.graphics.drawRoundRect(0,0,_width,_height,10)//最后那个参数,值越大,越接近椭圆
- rect.graphics.endFill();
- rect.filters = [new DropShadowFilter(2)]//滤镜
- return rect;
- }
- private function CreateTextField(downState:Boolean):TextField
- {
- var textField:TextField = new TextField();
- textField.text = _text;
- textField.width = _width;
- var format:TextFormat = new TextFormat();
- format.align = TextFormatAlign.CENTER;
- textField.setTextFormat(format);
- //垂直居中
- textField.y = (_height - textField.textHeight)/2;
- textField.y -= 2;//Subtract 2 pixels to adjust for offset
- if(downState)
- {
- textField.x += 1;
- textField.y += 1;
- }
- return textField;
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室