Apricotのキャラクターに指定の台詞を喋らせる方法
メールでキャラクターに指定の台詞を喋らせる方法を聞かれたので、こちらの方にまとめてみました。
キャラクターに指定の台詞を喋らせる方法は、Pythonで書かれたスクリプト経由で、キャラクターが定義されているXMLファイルのsequenceで記述されていることを呼び出すことで実現します。
特に、指定のタイミングで台詞を喋らせる場合には、新しいsequenceを定義する必要があるかと思います。新しいseqnenceを定義するには、まだ使われていない名前を、XMLファイルのsequenceのname属性に設定してください。
実際に任意の台詞を喋らせる場合には、下記のScriptクラスのメソッドを使うと実現できます。尚、Scriptクラスはスレッドセーフなシングルトンです。
- GetSequences
- Prepare
- TryEnqueue
最初にGetSequencesメソッドを呼びだします。下記の例では、XMLで定義されているFooという名前のsequenceを取得しています。GetSequencesメソッドの第一引数は、sequenceの名前、第二引数は同じ名前のsequenceがあった場合に重複を許すかを示す論理値です。
次に、Prepareメソッドを呼び出し実際に実行可能なsequenceにします。第一引数にsequenceの列挙可能なコレクション(IEnumerable
最後に実行可能なsequenceを、TryEnqueueでキューに入れることで指定のSequenceを実行できます。
Script.TryEnqueue(Script.Prepare(Script.GetSequences("Foo", True), None))
参考:
Apricot 解説サイト
http://apricot8bit.hp.infoseek.co.jp/
Apricotとは
Apricot FAQ
Apricot Wiki
キャラクター作成ガイド
mixiコミュニティ「Apricot開発室」