TextArea which includes some Emoji characters
ActionScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
script
src
test
Manifest.xml
README
Rakefile
airake.yml
build-swc.xml

README

as3emojitext

= LICENSE

MIT-License

= AUTHOR

Lyo Kato, lyo.kato _at_ gmail.com

= USAGE

1. 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();


2. ビルド完了後の設定

// ビルド完了用に指定しておいたハンドラで、
// 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);

3. フォーマットの設定

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";

4. その他の設定

_emojiTextArea.lineHeight = 20;

5. テキストの入力

// textセッタで文字列を入力します。
// 入力する文字列中に、指定されたパターンを発見すると絵文字画像に変換して表示します。

_emojiTextArea.text = "こんにちは[m:46]"