今後MSpDraw.dllに求めたい物

このdllを使う利点は複数あってしかもそれらは明白である。しかし当然ながら現時点ではまだ完成とは言いがたい。
妄想の謗りを承知で、こう言ったレイヤー型DLLに対する理想を書いてみたい。

例題その1

 まだ雪のちらつく中、毛皮に着られているような少女が公園を飛び回っている。新雪に足跡をつけるのが楽しいらしい。
 青年はしばらく少女を観察した後、思わず身震いをしてコートの襟を立てた。そして少女に呼びかけた。
「イリア、もう帰ろう。風邪引くぞ」
 イリアと呼ばれた少女は、両手を鳥の羽のように広げて片脚立ちの姿勢のまま青年を振り返り、にっこり笑うと青年に向かって駆け出した。
「わかったシロウ!」
 少女が青年に向かって全力で体を預けてくる。青年はまだ軽い少女の体を、ふんわりと受け止めた。

これをシナリオ化する。

 公園の背景、雪のエフェクト。縮小したイリアの立ち絵を左右入れ替えながら画面内をぴょんぴょん跳ね回させる。
 プレイヤーは存分にイリアの戯れる様を堪能した後、我に返ってクリックする。
 士郎のセリフ。「イリア、もう帰ろう。風邪引くぞ」このセリフの最中も当然イリアは飛び回っている。しかし、セリフの終了、次のクリックとともに動きを止める。
 一拍の間の後、イリアが向きを変え、どんどんアップになりながら画面中央に寄ってくる(できれば小刻みに上下させたい)。その動きの最中にイリアのセリフ「わかったシロウ!」が表示される。自動的に消える。
 画面にイリアの顔がどアップになった後で、イリアの立ち絵を消し、効果音とともに画面を揺らす。

これがスクリプト化できるようなDLLが欲しいところ。

具体的要望その1

操作方法の刷新。
現在のところ、各要素の「アニメーション一回あたりの増減値」と「アニメーション回数」を指定することが操作の基本になっている。
これを、「アニメーション後の数値」と「アニメーション回数」に変更するべきだ。
たとえるなら、現行の仕様は役者に向かって「はい、そこで右に二歩!」とか指定する遣り方であり、理想は「5秒後きっかりに○○の位置まで走れ!」と指示する遣り方である。
上記のシナリオの例であれば、イリアは画面中を跳ね回っているのだから、士郎が声をかけた段階での位置はその時になってみなければわからない。しかし、その後士郎の位置まで走ってくる(スプライトの中心は画面下ライン中央、拡大率は縦横5倍くらいに変化させる)必要がある。これが現行の仕様では難しい。

具体的要望その2

アニメーションはプログラム的な機能が欲しい。また、ループも可能な方がいい。
http://www.doblog.com/weblog/myblog/37649/2621961#2621961のサンプルの一つ、魅音が左右にうろちょろするシーンなどは、「左から右へ」「左から右へ」と言う命令を与えた後、ループを指定できればとても簡便なスクリプトになる。

具体的要望その3

これは副次的なものだが、もし要望その1の絶対指定ができない場合は、スプライトの現在の各種情報を取得するための命令の充実が不可欠である。現行では移動中(変化中)かどうかしか取得できないのを、あらゆる情報が取得できるといいなあ。

具体的要望その4

レイヤーの形状そのものを変化させる機能が欲しい。
カメラの演出の一環として、レイヤーそのものを動かす機能が欲しい。
仮に、レイヤーをずらす命令があったとしたら、それは内部的には全てのレイヤー内スプライトをずらす命令として実装される。
レイヤーをずらす、レイヤーを拡大縮小する、レイヤーを回転させるetc.
できるとかなりいいと思う。

まとめ

まあ、本気でこれ実装しようと思ったら、つくりなおした方が早いかもなあ。