forked from lyokato/as3emojitext
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
100 lines (62 loc) · 3.3 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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]"