Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package aufgabe1
- {
- import flash.display.Graphics;
- import flash.display.SimpleButton;
- import flash.display.Sprite;
- import flash.filters.BevelFilter;
- import flash.filters.BitmapFilter;
- import flash.filters.BitmapFilterType;
- import flash.filters.BlurFilter;
- import flash.filters.DropShadowFilter;
- import flash.filters.GlowFilter;
- import flash.text.TextField;
- import flash.text.TextFieldAutoSize;
- import flash.text.TextFormat;
- import flash.text.TextFormatAlign;
- import org.osmf.media.DefaultMediaFactory;
- public class RoundRectButton extends Sprite
- {
- private var buttonWidth:uint;
- private var buttonHeight:uint;
- private var buttonRadius:uint;
- private var buttonBgColor:uint;
- private var buttonText:String;
- private var buttonFont:String;
- private var buttonFontSize:uint;
- private var buttonFontColor:uint;
- public function RoundRectButton(width:uint, height:uint, radius:uint, color:uint, text:String, font:String, fontSize:uint, fontColor:uint)
- {
- buttonWidth = width;
- buttonHeight = height;
- buttonRadius = radius;
- buttonBgColor = color;
- buttonText = text;
- buttonFont = font;
- buttonFontSize = fontSize;
- buttonFontColor = fontColor;
- var button:SimpleButton = createButton();
- addChild(button);
- var buttonTextField:TextField = createButtonTextField();
- addChild(buttonTextField);
- }
- private function createButton():SimpleButton
- {
- var upStateFilter: Array = new Array();
- var downStateFilter: Array = new Array();
- var overStateFilter: Array = new Array();
- var bevel:BevelFilter = new BevelFilter();
- bevel.distance = 5;
- bevel.highlightColor = 0xffffff;
- bevel.blurX = 10;
- bevel.blurY = 10;
- var ds:DropShadowFilter = new DropShadowFilter();
- ds.color = 0x000000;
- ds.distance = 5;
- ds.blurX = 5;
- ds.blurY = 5;
- ds.alpha = 0.5;
- var glow:GlowFilter = new GlowFilter();
- glow.color = 0x000000;
- glow.blurX = 5;
- glow.blurY = 5;
- var test:GlowFilter = new GlowFilter();
- test.color = 0xff0000;
- test.inner = true;
- glow.blurX = 10;
- glow.blurY = 10;
- downStateFilter.push(ds);
- downStateFilter.push(bevel);
- downStateFilter.push(glow);
- overStateFilter.push(test);
- upStateFilter.push(bevel);
- trace(downStateFilter);
- trace(upStateFilter);
- trace(overStateFilter);
- var button:SimpleButton = new SimpleButton();
- button.upState = createRoundRect(upStateFilter);
- button.downState = createRoundRect(downStateFilter);
- button.overState = createRoundRect(downStateFilter);
- button.hitTestState = button.upState;
- return button;
- }
- private function createButtonTextField():TextField
- {
- var buttonTextField:TextField = new TextField();
- var buttonTextFormat:TextFormat = new TextFormat();
- with (buttonTextFormat)
- {
- align = TextFormatAlign.CENTER;
- color = buttonFontColor;
- size = buttonFontSize;
- font = buttonFont;
- }
- with (buttonTextField)
- {
- defaultTextFormat = buttonTextFormat;
- width = buttonWidth;
- height = buttonHeight;
- y = buttonHeight * 0.5 - textHeight;
- text = buttonText;
- autoSize = TextFieldAutoSize.CENTER;
- y = buttonHeight * 0.5 - textHeight * 0.5;
- selectable = false;
- }
- return buttonTextField;
- }
- private function createRoundRect(bmFilter:Array):Sprite
- {
- var roundRect:Sprite = new Sprite();
- with(roundRect.graphics)
- {
- lineStyle(1, 0, 0, true);
- beginFill(buttonBgColor,1);
- drawRoundRect(0, 0, buttonWidth, buttonHeight, buttonRadius, buttonRadius);
- endFill();
- }
- roundRect.filters = bmFilter;
- return roundRect;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement