メモ
ノベルエンジンについて
10/27
スクリプトを一文字ずつ読み込んで、描画を繰り返す。
メッセージを一度に表示しようとすると、その間にキャラや背景を動かすことができなくてつまらない。
ただし、画面全体のクリア時に、描画していた文字が消えてしまうため、メッセージ配列に保存して
おき、再度描画してやる必要がある。(最新の一文字だけ表示される状態になってしまうため)
だが、その際改行のタイミングが不明となる。
そこで、メッセージは2次元配列に保存するようにし、改行は1次元目配列の番号を進めることで
表現する。つまり改行タグ(@r)が来たときに、1次元目配列を一つ進める。
1行につき、1配列を使う感じ message[行番号][文字列]
また、メッセージスピードによる待ちのためにWaitTimer()を使うと、
ゲーム自体が止まってしまうために、結局そこで待っている間は何も動かせない。
なので、メッセージを一文字表示後、現在時間を取得しておき、次回そこに来たときに、
前回の時間取得時から30ms経っていたら文字を表示する、などという処理をする。
つまり以下のようになる
if( (現在の時間 - 前回の時間) > 30 ) then 文字表示するよん
これにより非同期処理が可能になる、はずである。気がする。
ちなみに時間計測は、Windowsが起動した次点からのms精度のタイマーを使う。
戻り値はInt型のため、2147483647msを超えた次点でマイナス値になる。
大体1月以上PCつけっぱにしてると超える。まあ考えてみたら超えても問題なかった。
立ち絵は逐次スクリプト文が来た次点での読み込みとする。
コントローラで読み込みしちゃっていいのかな? まあいっか。しらんわ。
キャラクターレイヤ番号を指定し、そこに当てはめる画像を読み込む、という仕様の予定。
過去ログ
■進捗
| 日付 |
作業内容 |
進み具合 |
| 10/11 |
キャラクターレイヤークラスの作成 |
30%ぐらい。まだちょっとこれでいいのか悩み中……。 |
| 10/13 |
キャラクターレイヤークラスの作成 |
概ね完成。まあとりあえずいいんじゃないでしょうか。 |
| 10/16 |
メモリ管理バグ修正 |
しばらくやってみたが原因わからず。知り合いにも調査依頼中。 |
| 10/22 |
メモリ管理バグ修正 |
やっと修正完了……。デストラクタをvirtualにするとか知らんわw |
| 10/23 |
マップチップ配置テスト |
とりあえずSimSceneの表面実装完了。マップチップ配置テスト中 |
| 10/24 |
マップ配置及びスクロールテスト |
画面スクロール実装。なかなか調子良さげ |
| 10/25 |
ノベルエンジン作成 |
基本機能実装したものの、イマイチなのでやり直し濃厚 |
| 10/26 |
ノベルエンジン作成 |
やり直しし、順調に進む。ただしメイン部分と組み合わせにくくなった |
| 10/27 |
ノベルエンジン作成 |
なんというか予想通り問題発生 |
| 10/29 |
ノベルエンジン作成 |
逐次画面クリアに対応 |
| 10/30 |
シーン設計の見直し |
大幅に変更する可能性が大 |
| 10/31 |
シーン設計の見直し |
コントローラボックスを用意する方向で考え中。 |
| 日付 |
作業内容 |
コメント |
| 11/01 |
シーン設計の見直し |
/^o^\フッジサーン |
| 11/03 |
シーン設計の見直し |
突破口がやっと見えてきた。ゴールしてもいいよね…。 |
| 11/05 |
シーン設計の見直し |
ゴー…ル…… |
| 11/06 |
ソースコード整理 |
そろそろごちゃごちゃなので纏める |
| 11/07 |
シーン設計 |
コントローラの有効無効の設定 |
| 11/08 |
移動処理作成 |
算数できない(^q^) |
| 11/10 |
ソースコード整理 |
これだけで10時間かかるだろ…… |
| 11/13 |
移動処理作成 |
移動処理の前にやることたくさんあった/^o^\ |
| 11/17 |
ノベルシーン作成 |
移動処理が進まずこっちをやってしもうた |
| 11/23 |
移動処理作成 |
まあ大体できた |
| 11/30 |
コレクションシーン作成 |
あとちょっとでいけそう |
・SRPGの移動処理を作成する
→ユニットクラスの作成する OK
→カーソル座標とユニット座標を実装 OK
→マス座標からピクセル座標に変換し描画 OK
→重なっていたときにキーが押されたら移動処理をする。OK
→移動力に従って移動範囲を作成 OK
→その前にマップクラスの作成 OK
→マップ地形クラスの配列、マップステージ配列を持たせる OK
→マップ地形クラスには、地形の画像及び移動コスト、特殊効果等を持たせる OK
→移動経路の作成 OK
→移動処理 OK
・CVSからのマップ読み込みに対応する
→配列からの読み込みには対応。
→CVSファイルから読み込み、配列に入れればOK
・命令タグのリソース指定に対応する。
→検索用関数をつくればOK
■課題・問題点
・マップ全体の形が菱形でなく長方形と予想されるため、ベストな方法を模索中。
・マップチップの配置ってX座標+1したほうがいいのかなぁ……。
・マップチップ等を上から順に描画しなければいけない。
・ノベルエンジンのスクリプト仕様を考案中。
・メイン部分にどうやって実装しようか考え中。
→メッセージスピードの変更や、非同期の処理(メッセージ表示しながらキャラクタを
動かす等)は可能になったと思われる。
・逐次画面クリアするのでメッセージ配列は全て保存しておかなくて
はいけないという問題発生。うーん、どっちがいいんだか。
■その他・予定変更など
・ドット絵素材のサイズは、基本的に8の倍数が良いかと思います。
理由は色々ありますが、主な理由は、「すべて8の倍数のサイズで」という風に決めておかないと、
マップチップ上に配置したときにわずかにずれてしまいます。後々そのズレが大きくなる可能性
もあるので、基本は8の倍数で描かれることが多くなっています。
最終更新:2011年12月07日 08:47