ノベルゲームの画面を保存するには?

解決


ロック  2003-12-16 01:01:02  No: 6207

どうも、最近Delphi始めたばかりの初心者です。現在サウンドノベルのようなものを作成しています。
画像の上に文字を表示し、クリックで文章が表示されていくところまではなんとか作れたのですが、セーブ、ロードの機能をつけるところで苦戦しています。
最初は、TSaveDialog,TOpenDialogを使って保存、読込みしようとしましたが、うまくいきませんでした。
こういった方法がある、こうすればうまくいくと気づく事があればぜひ、ご教授ください。
よろしくお願いします。
ちなみに、 Borland Delphi6 Personalを使用して作成しています。


Halbow  2003-12-16 01:10:09  No: 6208

Halbow です。

何をセーブ/ロードしたいのですか?  画面ってなんですか?


にしの  2003-12-16 01:13:56  No: 6209

どのようにうまくいかなかったのでしょうか。
通常、ゲームの保存というと、番号指定でファイル名の指定はあまり関係ないと思いますが、どういう保存形式なのでしょうか。
TSaveDialog, TOpenDialogは、ファイル名を取得するだけです。保存は自前でコーディングする必要があります。

画面を保存と言うことは、保存した時点のスナップショットを取り込みたいと言うことでしょうか。
画面描画に何を使っているか解らないので、抽象的な答えになりますが、画面への描画を、そのままビットマップ(TBitmap)へ描画し、必要ならばそれを縮小、ファイルへ保存、という形になります。
画像は、サイズが比較的大きくなるので、zlibなどで圧縮することをおすすめします。

ゲームでの保存にはTSaveDialogは不向きと思いますが、デザイン的には大丈夫ですか?
メッセージウィンドウなども全て描画しているのであれば、保存ダイアログも描画でデザインを会わせた方がよいかと。


ロック  2003-12-16 05:48:32  No: 6210

すいません。聞き方が悪かったみたいです。
スナップショットを取り込みたいということではなく、既存のノベルゲームのようにセーブ&ロードの機能をつけたいという意味の質問です。
にしのさんのご指摘のようにTSaveDialogがゲームの保存に不向きなら、どういった形式のものが適しているのでしょうか?


にしの  2003-12-16 07:17:04  No: 6211

> 既存のノベルゲームのようにセーブ&ロードの機能をつけたいという意味の質問です。

もちろん、ノベルゲームとアドベンチャーゲームは別物ですよね。
そうであれば、読み進めた位置を保存するだけだと思います。
nページのm行目であれば、
n,m
だけで十分でしょう。

> にしのさんのご指摘のようにTSaveDialogがゲームの保存に不向きなら、どういった形式のものが適しているのでしょうか?

それは、ゲームを作成する人にしか判断できません。
もし、ノベルゲームのメッセージ表示部分がTMemoだったりするなら、TSaveDialogでもよいかと思います。
私ならば、TListBox風のウィンドウをゲームにあわせて作り、それと、やはりゲームのデザインにあわせたボタンと、そのListBoxとを組み合わせて作ります。
入力欄が必要であれば、それも自前描画のものを作るでしょう。キャレットは登録すれば画像を利用できますし。


ロック  2003-12-17 06:00:12  No: 6212

にしのさん、いろいろとありがとうございます。
ご指摘していただいたことを参考にして勉強しようと思います。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加