テキストのビットマップ化練習
♥0 |
Line 95 |
Modified 2010-09-15 16:38:53 |
MIT License
archived:2017-03-20 10:49:17
ActionScript3 source code
/**
* Copyright otherone ( http://wonderfl.net/user/otherone )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/vbW1
*/
/***************************
テキストのビットマップ化練習
***************************/
package {
import flash.display.DisplayObject;
import flash.display.Shape;
import flash.display.Sprite;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.MouseEvent;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
import caurina.transitions.Tweener;
public class Main3 extends Sprite {
private var btnAppear:Sprite;
private var btnDisappear:Sprite;
private var tf:TextField;
private var square:Shape;
private var format :TextFormat;
private var sp:Sprite;
public function Main3():void {
init();
}
private function init():void {
btnAppear=new Sprite();
btnAppear.graphics.beginFill(0x999999,0.2);
btnAppear.graphics.drawRect(0,0,100,20);
btnAppear.graphics.endFill();
format= new TextFormat();
format.align = TextFormatAlign.CENTER;
var tf1 = new TextField();
tf1.defaultTextFormat = format;
tf1.width = 100;// 幅
tf1.height = 20;// 高さ
tf1.text="表示";
var tfBitmap:Bitmap=convertTextToBitmap(tf1);
btnAppear.addChild(tfBitmap);
//btnAppear.y=100
addChild(btnAppear);
btnDisappear=new Sprite();
btnDisappear.graphics.beginFill(0x999999,0.2);
btnDisappear.graphics.drawRect(0,0,100,20);
btnDisappear.graphics.endFill();
addChild(btnDisappear);
btnDisappear.x=150
;
btnAppear.buttonMode=btnDisappear.buttonMode=true
;
// セッティング
settings();
// ボタンクリックイベント登録
btnAppear.addEventListener(MouseEvent.CLICK,btnAppearClick);
btnDisappear.addEventListener(MouseEvent.CLICK,btnDisappearClick);
trace(btnAppear,"btnAppear");
}
private function convertTextToBitmap( _tf:TextField ):Bitmap {
var _bmd:BitmapData = new BitmapData( _tf.width, _tf.height, true, 0x00ffffff );
_bmd.draw( _tf );
return new Bitmap(_bmd);
}
// オブジェクトをalphaゼロでセット
private function settings():void {
sp=new Sprite;
//format.align = TextFormatAlign.CENTER
var tf = new TextField();
tf.defaultTextFormat = format;
tf.width = 100;// 幅
tf.height = 20;// 高さ
tf.text="aaaaaaaaa";
tf.x=10;
tf.y = btnAppear.x + btnAppear.height + 10;
var bitmap:Bitmap=convertTextToBitmap(tf);
sp.addChild(bitmap);
sp.x=10;
sp.y=30;
addChild(sp);
sp.graphics.beginFill(0xffff00);
sp.graphics.drawRect(0,0,100,100);
sp.graphics.endFill();
sp.alpha=0;
}
// 表示ボタンが押された時の処理
private function btnAppearClick(e:MouseEvent):void {
appear();// 内容をセット
btnAppear.removeEventListener(MouseEvent.CLICK,btnAppearClick);
}
// 非表示ボタンが押された時の処理
private function btnDisappearClick(e:MouseEvent):void {
disappear();// 内容を非表示
btnAppear.addEventListener(MouseEvent.CLICK,btnAppearClick);
}
// 内容表示
private function appear():void {
Tweener.addTween(tf, {delay:0,time:1,alpha:1.0});
Tweener.addTween(sp, {delay:1,time:1,alpha:1.0});
}
// 非表示
private function disappear():void {
// 表示を中止する処理
Tweener.removeTweens(tf, {delay:0,time:3,alpha:1.0});
Tweener.removeTweens(sp, {delay:3,time:3,alpha:1.0});
// 透明にする処理
Tweener.addTween(tf, {time:1,alpha:0.0});
Tweener.addTween(sp, {time:1,alpha:0.0});
}
}
}