静岡理工科大学 | 菅沼ホーム | ActionScript 目次 | 索引 |
package { import flash.display.DisplayObject; // 必ず必要 import flash.display.Sprite; import flash.display.Shape; import flash.display.SimpleButton; [SWF(backgroundColor="0xeeffee", width="300", height="200", frameRate="30")] public class SimpleButton_e extends Sprite { public function SimpleButton_e() { init(); } private function init():void { var r1 : Shape = new Shape(); r1.graphics.beginFill(0xffff0000); r1.graphics.drawRect(0, 0, 200, 100); r1.graphics.endFill(); var r2 : Shape = new Shape(); r2.graphics.beginFill(0xff00ff00); r2.graphics.drawRect(0, 0, 200, 100); r2.graphics.endFill(); var r3 : Shape = new Shape(); r3.graphics.beginFill(0xff0000ff); r3.graphics.drawRect(0, 0, 200, 100); r3.graphics.endFill(); var bt : SimpleButton = new SimpleButton(); bt.useHandCursor = true; bt.upState = r1; bt.overState = r2; bt.downState = r3; bt.hitTestState = r3; bt.x = 50; bt.y = 50; addChild(bt); } } }
package { import flash.display.Sprite; [SWF(backgroundColor="0xeeffee", width="300", height="200", frameRate="30")] public class sButton_e extends Sprite { public function sButton_e() { init(); } private function init():void { var bt : sButton = new sButton("ボタン", 50); bt.x = 65; bt.y = 65; addChild(bt); } } } /*******************************************************************/ /* ボタン */ /* title : タイトル */ /* size : フォントサイズ */ /* up_c : マウスカーソルがボタンの外にあるときの色 */ /* over_c : マウスカーソルがボタンの上にあるときの色 */ /* down_c : マウスがクリックされたときの色 */ /* grow_up : マウスカーソルがボタンの外にあるときのグロー色 */ /* grow_over : マウスカーソルがボタンの上にあるときのグロー色 */ /* grow_down : マウスがクリックされたときのグロー色 */ /*******************************************************************/ package { import flash.display.Sprite; import flash.display.SimpleButton; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFormatAlign; import flash.text.TextLineMetrics; import flash.filters.GlowFilter; public class sButton extends SimpleButton { public function sButton(title:String="Button", size:int=15, up_c:uint=0xffffff00, over_c:uint=0xffadff2f, down_c:uint=0xff00ff00, grow_up:uint=0xdddddd, grow_over:uint=0xdddddd, grow_down:uint=0xdddddd) { // ボタンの外 var msg1 : TextField = new TextField(); msg1.text = title; var tf : TextFormat = new TextFormat(); tf.size = size; tf.align = TextFormatAlign.CENTER; msg1.setTextFormat(tf); var ms : TextLineMetrics = msg1.getLineMetrics(0); msg1.width = ms.width + 10; msg1.height = ms.height; msg1.x = 10; msg1.y = 5; var er : Number = 0.8 * msg1.height; var gr : Number = 0.3 * msg1.height; var r1 : Sprite = new Sprite(); var a1 : Number = (up_c >>> 24) / 255; up_c = up_c & 0x00ffffff; r1.graphics.beginFill(up_c, a1); r1.graphics.drawRoundRect(0, 0, msg1.width+20, msg1.height+10, er, er); r1.graphics.endFill(); r1.filters = [new GlowFilter(grow_up, a1, gr, gr, 3, 3, true)]; r1.addChild(msg1); // ボタンの上 var msg2 : TextField = new TextField(); msg2.text = title; msg2.setTextFormat(tf); msg2.width = ms.width + 10; msg2.height = ms.height; msg2.x = 10; msg2.y = 5; var r2 : Sprite = new Sprite(); var a2 : Number = (over_c >>> 24) / 255; over_c = over_c & 0x00ffffff; r2.graphics.beginFill(over_c, a2); r2.graphics.drawRoundRect(0, 0, msg2.width+20, msg2.height+10, er, er); r2.graphics.endFill(); r2.filters = [new GlowFilter(grow_over, a2, gr, gr, 3, 3, true)]; r2.addChild(msg2); // ボタンをクリック var msg3 : TextField = new TextField(); msg3.text = title; msg3.setTextFormat(tf); msg3.width = ms.width + 10; msg3.height = ms.height; msg3.x = 10; msg3.y = 5; var r3 : Sprite = new Sprite(); var a3 : Number = (down_c >>> 24) / 255; down_c = down_c & 0x00ffffff; r3.graphics.beginFill(down_c, a3); r3.graphics.drawRoundRect(0, 0, msg3.width+20, msg3.height+10, er, er); r3.graphics.endFill(); r3.filters = [new GlowFilter(grow_down, a3, gr, gr, 3, 3, true)]; r3.addChild(msg3); useHandCursor = true; upState = r1; overState = r2; downState = r3; hitTestState = r3; } } }
静岡理工科大学 | 菅沼ホーム | ActionScript 目次 | 索引 |