[解決済み]ピクチャを用いて本を表現したいです

imoring
記事: 2
登録日時: 2022年1月21日(金) 18:39

[解決済み]ピクチャを用いて本を表現したいです

投稿記事by imoring » 2022年9月08日(木) 13:59

はじめまして。未だ毛根すら形成されていない初心者です。

ゲーム内にてちょっとしたイラスト付きの本を登場させたく思い、各ページのピクチャを用意しました。
それらをピクチャ表示を用いて表示しようと考えたのですが、1ページ目を表示こそできましたが、任意タイミングのキー入力によるページの移動やピクチャの消去をさせる方法が思いつきません。

私の構想では本のアイテムからコモンイベントを呼び出す形で最初に1ページ目を表示したのちに、左キーで次項、右キーで前項、決定キーないしはキャンセルキーにて本を閉じる(ピクチャの消去)という形にしたいと思っています。

どなたか上記のやり方を実現させる方法をお教え願えないでしょうか。
もし何か不都合が生まれる場合は多少私の構想からずれてもかまいません。

どうかよろしくお願いします。
最後に編集したユーザー imoring on 2022年9月08日(木) 21:38 [ 編集 1 回目 ]

アバター
萎びれた猫
記事: 11
登録日時: 2021年5月17日(月) 02:26

Re: ピクチャを用いて本を表現したいです

投稿記事by 萎びれた猫 » 2022年9月08日(木) 19:04

こんばんは!

やっつけですが変数をページに見立てて、キー入力のスクリプト

コード: 全て選択

Input.isTriggered('任意のボタン')

を使って再現してみました。

以下がアイテムで呼び出すコモンイベントの内容です。
(このサンプルでは本のページ数を4としています、また変数0=1ページ目です)

◆メニュー禁止の変更:禁止
◆ループ
◆ウェイト:1フレーム
◆条件分岐:スクリプト:Input.isTriggered('left')
◆条件分岐:本のページ数 = 0

:それ以外のとき
◆変数の操作:#0001 本のページ数 -= 1

:分岐終了

:分岐終了
◆条件分岐:スクリプト:Input.isTriggered('right')
◆条件分岐:本のページ数 = 3

:それ以外のとき
◆変数の操作:#0001 本のページ数 += 1

:分岐終了

:分岐終了
◆条件分岐:スクリプト:Input.isTriggered('cancel')
◆ピクチャの消去:#1
◆ループの中断

:分岐終了
◆条件分岐:本のページ数 = 0
◆ピクチャの表示:#1, page_1, 左上 (60,0), (70%,70%), 255, 通常

:分岐終了
◆条件分岐:本のページ数 = 1
◆ピクチャの表示:#1, page_2, 左上 (60,0), (70%,70%), 255, 通常

:分岐終了
◆条件分岐:本のページ数 = 2
◆ピクチャの表示:#1, page_3, 左上 (60,0), (70%,70%), 255, 通常

:分岐終了
◆条件分岐:本のページ数 = 3
◆ピクチャの表示:#1, page_4, 左上 (60,0), (70%,70%), 255, 通常

:分岐終了

:以上繰り返し
◆メニュー禁止の変更:許可


メニュー禁止・許可の変更処理は要らないかも…。
不必要と感じたら削除してください。

またイベント起動中も周りのイベントは普通に動き回るので、もしも気になる場合は、変数やスイッチを使って止めるか。
トリアコンタン様制作の「キャラクター停止 - CharacterFreeze.js」プラグインあたりを使うとより挙動が自然になるかもです。
https://plugin.fungamemake.com/archives/16206


一応、サンプルも上げておきます。
ご参照ください。
https://71.gigafile.nu/1008-j8c641de3558a0c1a1bb2830978a4ecd9
imoring
記事: 2
登録日時: 2022年1月21日(金) 18:39

Re: ピクチャを用いて本を表現したいです

投稿記事by imoring » 2022年9月08日(木) 21:37

萎びれた猫様、こんばんは。そしてありがとうございました。
おかげさまで無事解決できました。

『やっつけ』とおっしゃいましたが、それはもう丁寧に教えていただき、
しかもわざわざサンプルまでご用意くださって、非常に助かりました。

やはり初心者の私にはない発想と言いますか、元来頭の柔らかいタイプではありませんので、非常に勉強になりました。

改めまして、この度は誠にありがとうございました。

“MV:質問” へ戻る