テキストをアニメーションさせる処理
ループ処理の練習用に、テキストに簡単なアニメーションを付けました。
openingとmainで処理を分けています。
♥0 |
Line 52 |
Modified 2013-09-03 05:52:28 |
MIT License
archived:2017-03-20 01:48:31
ActionScript3 source code
/**
* Copyright naoyago ( http://wonderfl.net/user/naoyago )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/j5vn
*/
package {
import flash.display.AVM1Movie;
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
public class FlashTest extends Sprite {
private const TEXT_INIT_X:int = stage.stageWidth / 2;
private const TEXT_INIT_Y:int = stage.stageHeight / 2;
private const TEXT_START_Y:int = 10;
private var text:TextField = new TextField();
private var text_alpha:Number = 0;
public function FlashTest() {
// text format
var text_format:TextFormat = new TextFormat();
text_format.font = "_ゴシック";
text_format.align = TextFormatAlign.RIGHT;
// text
this.text.defaultTextFormat = text_format;
this.text.text = String('Hello World');
this.text.textColor = 0xAAAAAA;
this.text.width = 100;
this.text.x = TEXT_INIT_X - this.text.width / 2;
this.text.y = TEXT_INIT_Y - TEXT_START_Y;
this.text.alpha = 0;
stage.addChild(this.text);
// start opening
stage.addEventListener(Event.ENTER_FRAME, this.startOpening);
}
// =================================
// opening
// =================================
private var opening_cnt:int = 0;
private function startOpening(e:Event):void {
this.opening();
}
private function opening():void {
this.opening_cnt++;
// wait time
if (this.opening_cnt < 20){
return;
}
this.text_alpha += 0.1;
this.text.alpha = this.text_alpha;
this.text.y += (TEXT_INIT_Y - this.text.y) * 0.3;
if (this.opening_cnt >= 40) {
// start main
stage.addEventListener(Event.ENTER_FRAME, this.startMain);
}
}
// =================================
// main
// =================================
private function startMain(e:Event):void {
stage.removeEventListener(Event.ENTER_FRAME, startOpening);
this.main();
}
private function main():void {
// main process
// test
this.text.textColor = 0xAA0000;
}
}
}