asa
28f10b2019
2021/03/14 (日) 07:07:12
その動作を実装するためにはいろいろな要素が関わってくるので、まず切り分けて考えてみます。
- NPCの近くにいる判定
- ゲームをポーズ
- テキストを外部ファイルから読み込み
- 読み込んだテキストを1行ずつ表示(ボタンで送る)
(1)はpoint_distance()などで判定できます。
(2)のゲームポーズは、これだけで1つの大きなテーマになり得ます。ポーズ中のフラグでオブジェクトの処理をスキップさせる、ポーズの瞬間の画面を静止画で表示しその間オブジェクトを非アクティブにする、など複数の実現方法が考えられます。ポーズと言っても完全に全てを止めるのか一部だけを止めるのかなどいろいろあるので、どういうものを作りたいのか具体的に仕様をまとめるといいと思います。
(3)外部ファイルから読み込む方法も複数あります。file_text_read_string()でもいいと思いますし、JSONに対応することもできます。"read text file gamemaker"、 "dialogue system gamemaker"などで検索するといろいろ出てきます。
(4)表示はdraw_text()でいいと思います。「1行ずつ」を実現するには、これもいろいろ方法があるでしょうが、配列に1行ずつテキストを保持し、現在の行を保持する変数を作り、Drawイベントで現在の行のテキストを表示、ボタンで行を送れるようにする、という形でいいと思います。
できるだけ要素を区切って考えて、1つずつ個別に実装してみてください、そしてうまくいかなければ
その部分のコードをここに貼って質問もらえれば具体的な回答を得られると思います。
質問があるとこの掲示板が活発になり、他のgamemakerユーザーにも役立ちますので大変ありがたいです。
遠慮せず気軽にどしどし質問してください。
誰かが何かかしら教えてくれると思います!
通報 ...