| こんにちは。 この2つのリクエストに関して意見を述べさせて頂きますね。 まず、BGMのレベル指定に関しては、全く異論はありません。 全面的に賛成します。
二つめのレイヤーに関してですが、これも一応は賛成です。 これは僕も以前から同じ様な事を考えていました。 僕は戦闘アニメインクルードを自作していますが、 画面に描画したエフェクトを動かす際などに、不自由に感じる事が多いです。 特に、一番懸念材料なのが、ClearPictureコマンドです。 このコマンドは座標で指定された四角形範囲内か、画面全体のビットマップ を消去しますが、グラフィックの上に重ねられたグラフィックを移動させる場合、 上の画像を消して再表示させるだけでなく、下の画像も更新し続けなければなりません。 背景指定すれば、このコマンドでも消えませんが、今度はChangeMapを使わなければ 消去できず、その際は画面全体の表示物が消えてしまうので、 やはり困る事があります。
今回、ティトエスさんは通常、背景の他にレイヤー(仮)を新しく作る 事を提案なさっていますが、僕は、レイヤーを足すのではなく、 通常の機能を強化することを提案したいと思います。 具体的には、PaintPictureの描画の際に、 オプションとしてユニットIDの様にオブジェクトIDを指定出来る様にして、 (省略時は現在の描画と同じ様にする)例えばClearPictureの際にも、 指定したオブジェクトのみを消去できるようにする、というものです。 また、それと同時にMoveObj(仮)、というイベントコマンドを リクエストしたいと思っています。 これはその名の通り、前述の指定したオブジェクトを、移動させるというものです。 これに関して、書式を二通り考えています
書式1 MoveObj オブジェクト名 終点のX座標 終点のY座標 移動に要する時間
書式2 MoveObj オブジェクト名 終点のX座標 終点のY座標 移動開始時間 移動終了時間 このX、Y座標は、移動後のオブジェクトの左上の点のことを指します。
書式1はそのままです。 指定した時間で、X,Yまで移動します。
書式2は、WaitStartコマンドと組み合わせた同期処理を想定しています。 例としては、 Wait Start
MoveObj ObjA 50 50 5 10 MoveObj ObjA 150 150 15 30 MoveObj ObjB 100 100 0 20 MoveObj ObjC 200 200 10 25
というようにコマンドが並んでいる場合、 WaitStartのコマンドが処理された時間を時間0とすると 時間0でBが動き出し、時間5にAが動き出し 時間10にAが(50,50)に到達して5秒間停止、さらにCが動き出します。 時間15にAが再び動き出し、時間20にBが(100,100)に到達して停止 時間25にCが(200,200)に到達して停止、時間30にAが(150,150)に到達して終了 という処理が行われる事になります。
もちろん現在でも、Forコマンドを使用した連続描画で絵の移動は可能ですが、 同時に複数のオブジェクトを複雑に移動させようとすると 制御するのが大変に複雑です。 このコマンドがあれば、それが簡単に指定出来ると思うのです。 この案は、ティトエスさんの案以上にマシンスペックを要求すると思われます。 ですから、この案はリクエストするのはまだ時期ではないかも、と思っていたのですが 最近の開発版は戦闘アニメ、途中セーブ、mp3の再生など、 以前はとても無理と思われていた革新的機能が続々と搭載され、 演出にも凝れるようになってきましたし、そこにちょうどティトエスさんが この議題を出してくださったので、この機会に以前から暖めていた案を 皆さんに伺おうと思ったのです。 確かにPCスペックはかなり必要だと思いますが、 高スペックマシン推奨シナリオとして公開するとか、 高度な演出をシナリオ中の選択でON,OFFできるようにすれば、 特に問題は発生しないと思いますし。 ティトエスさん、他の皆様方、ご意見、ご提案をお願いします。
|