As3emojitext
TextArea which includes some Emoji characters
Install / Use
/learn @lyokato/As3emojitextREADME
as3emojitext
= LICENSE
MIT-License
= AUTHOR
Lyo Kato, lyo.kato at gmail.com
= USAGE
- EmojiTextAreaを生成するビルダを準備します。
import org.coderepos.text.EmojiTextAreaBuilder; import org.coderepos.text.events.EmojiTextAreaBuildEvent;
var textAreaWidth:uint = 200; var textAreaHeight:uint = 200;
// 最終的に生成したいテキストエリアの幅、高さを指定します。
var builder:EmojiTextAreaBuilder = new EmojiTextAreaBuilder(textAreaWidth, textAreaHeight);
// 絵文字に置き換える文字列のフォーマットを生成します。 // 生成されたフォーマットのID値がかえります。
// 引数に渡すのはフォーマットのprefix, suffixです。 // suffixは一文字である必要があります。 var format1ID:uint = builder.genPatternFormat('[m:', ']'); var format2ID:uint = builder.genPatternFormat('[a:', ']');
// 利用したい絵文字を登録します。
// 下の例では、入力されたテキストに'[m:46]'が含まれていれば // その箇所を、http://img.mixi.jp/img/emoji/46.gifの画像に置き換えることになります。 // 同様に'[a:10]'をhttp://img.mixi.jp/img/emoji/50.gifの画像に置き換えます。
builder.registerByURI(format1ID, '46', 'http://img.mixi.jp/img/emoji/46.gif'); builder.registerByURI(format2ID, '10', 'http://img.mixi.jp/img/emoji/50.gif');
// イベントリスナを設定します。
// 絵文字のための画像をロードし、EmojiTextAreaをビルド完了したときに呼ばれます。 builder.addEventListener(EmojiTextAreaBuildEvent.BUILT, builtHandler);
// 指定したURLから画像をロードするときに該当するエラーイベントが発生したときのため builder.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); builder.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
// ビルドを開始します。 builder.buildAsync();
- ビルド完了後の設定
// ビルド完了用に指定しておいたハンドラで、 // EmojiTextAreaのオブジェクトを取得する。
import org.coderepos.text.EmojiTextArea;
private var _emojiTextArea:EmojiTextArea;
private function builtHandler(e:EmojiTextAreaBuildEvent):void { // イベントオブジェクトのtextAreaメソッドで // EmojiTextAreaのオブジェクトが取得できます。 _emojiTextArea:EmojiTextArea = e.textArea; }
// EmojiTextAreaはflash.display.Spriteのサブクラスです。 // 適当なコンテナの子として加えておいてください。
myContainer.addChild(_emojiTextArea);
- フォーマットの設定
EmojiTextAreaは、ElementFormatの各プロパティへのプロキシとなる getter/setterメソッドが登録されています。 詳しくはflash.text.engine.ElementFormatのドキュメントを参照してください。
_emojiTextArea.fontSize = 20; var desc:FontDescription = new FontDescription(); desc.fontName = "Kozuka Mincho Pro R"; _emojiTextArea.fontDescription = desc; _emojiTextArea.locale = "ja";
- その他の設定
_emojiTextArea.lineHeight = 20;
- テキストの入力
// textセッタで文字列を入力します。 // 入力する文字列中に、指定されたパターンを発見すると絵文字画像に変換して表示します。
_emojiTextArea.text = "こんにちは[m:46]"
