メッセージウィンドウ
メッセージウィンドウ
1文字ずつ流れるように表示する
クリックでウィンドウを消したり出したり
♥0 |
Line 65 |
Modified 2010-07-03 21:10:47 |
MIT License
archived:2017-03-20 06:53:35
ActionScript3 source code
/**
* Copyright nishink ( http://wonderfl.net/user/nishink )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/eavY
*/
// メッセージウィンドウ
// 1文字ずつ流れるように表示する
// クリックでウィンドウを消したり出したり
package {
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
var rf:RenderField = new RenderField();
addChild(rf);
}
}
}
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.events.MouseEvent;
class RenderField extends Sprite {
private var mw:MessageWindow;
public function RenderField() {
graphics.beginFill(0);
graphics.drawRect(0, 0, 465, 465);
graphics.endFill();
mw = new MessageWindow(120, 250, 230, 100);
mw.setMessage("おきのどくですが ぼうけんのしょ1ばんは きえてしまいました。");
addChild(mw);
addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
}
private function onMouseDown(ev:MouseEvent):void {
if (mw.visible) {
mw.visible = false;
} else {
mw.setMessage("おきのどくですが ぼうけんのしょ1ばんは きえてしまいました。");
mw.visible = true;
}
}
}
class MessageWindow extends TextField {
private var msg:String;
private var cnt:int;
public function MessageWindow(
x:Number, y:Number, width:Number, height:Number) {
this.border = true;
this.borderColor = 0xffffff;
this.background = true;
this.backgroundColor = 0;
this.wordWrap = true;
this.text = "";
this.textColor = 0xffffff;
this.width = width;
this.height = height;
this.x = x;
this.y = y;
msg = "";
cnt = 0;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(ev:Event):void {
if (msg.length > cnt) {
this.appendText(msg.charAt(cnt));
cnt++;
}
}
public function setMessage(msg:String):void {
this.msg = msg;
this.cnt = 0;
this.text = "";
}
}