その2

interval
やっぱり無断引用

interval エントリは
そのアニメーショングループが自動発生する間隔を表す。

sometimes 時々 (マバタキ程度,random,2 と等価)
rarely さらに低率 (random,4 と等価)
random,n 1秒あたり 1/n の確率
always 永久にループ
runonce そのベースサーフィスに
切り替わった瞬間1回だけ
yen-e さくらスクリプトにおいて
\e が出現した瞬間1回だけ
talk,n n文字表示されるたびに
(何か喋るたびに)
never 自動では発動しない
bind 着せ替え。

まあ、さして複雑なこともないはず(bind以外)
基本的に仕様書に書いてあるとおりだが
sometimes = random,2
rarely = random,4
alwaysはタイミングを考えずに(random,1と投下かな?)
runonce は初回のみ(2回以上発動したらバグ)
yen-eは最後のみ(スクリプトに\eが来た場合)
talkは表示した文字がnに達した場合
(スペースやリード文字(・、‥、…)、句読点は数えてたら駄目だろうな)
never は他のパターンから発動させるだけだから無視する
で、bindは‥‥よくわかんね
まあ、後回しでも良いか


option

option エントリは
そのアニメーショングループの付加情報を表す。
このエントリは省略できる。

exclusive 排他的にアニメーションを行う

exclusiveが指定されたパターンが発生したときは
1.他のパターンは終了
2.他のパターンは発生させない
 (exclusiveが指定されたパターン内部から
  start や alternativestartで呼ばれたときは有効)
3.start や alternativestartで呼ばれたパターンが終了するまで
  exclusiveの指定は有効になる


ふと思った
exclusiveが指定されたパターンがこんな時
exclusiveの指定はどうなるんだろ?

a.exclusiveが指定されたパターンからstartで自分を呼び続ける
 または、別パターンを呼び続ける

1.
 animation0.option,exclusive
 animation0.interval,rarely
 animation0.pattern1,start,0
2.
 animation0.option,exclusive
 animation0.interval,rarely
 animation0.pattern1,start,1

 animation1.interval,never
 animation1.pattern0,base,1001,50
 animation1.pattern1,start,2

 animation2.interval,never
 animation2.pattern0,base,1001,50
 animation2.pattern1,start,1

b.intervalにalwaysが指定

 animation0.option,exclusive
 animation0.interval,always
 animation0.pattern0,base,1001,50

c.intervalにrunonceが指定されているものが二つ以上あるが
 exclusiveが指定されたパターンも二つ以上ある

 animation0.option,exclusive
 animation0.interval,runonce
 animation0.pattern0,base,1001,50


 animation1.option,exclusive
 animation1.interval,runonce
 animation1.pattern0,base,1001,50

ま、とりあえず、ここまで