ページ 11

[解決]確認画面の表示について

Posted: 2016年8月13日(土) 14:59
by ミノン
 こんにちは。現在、ツクールMVにて鑑定システムを作っているのですが、とある部分で手詰まり感があるので助けてください。

 鑑定システムで、以下のような確認画面を表示させたいのですが、作り方が分からず苦戦しております。
 「鑑定しますか?(文章の表示)
   はい、いいえ(選択肢)」

 Window_Selectableクラスを元に作ればいいのか?とあれこれやってみたのですが、うまくいかず...。そもそも、ツクールMVで文章と選択肢を同じ画面に表示させることが出来るのか?も分からないままやっているので…。

 何とか、なりませんでしょうか?ここさえ出来れば、後は鑑定するだけなのですが…。

 お願いします!お助け下さいですm(_ _)m

Re: 確認画面の表示について

Posted: 2016年8月14日(日) 10:55
by 奏ねこま
鑑定専用の選択肢を新しく作るより、既存の選択肢ウインドウを改変して
・選択肢ウインドウの枠と背景を非表示にする
・選択肢ウインドウ表示位置を任意に設定する
というプラグインを作って、「鑑定しますか?」のメッセージに重ねるほうが
比較的簡単かと思いますが、いかがでしょうか?

Re: 確認画面の表示について

Posted: 2016年8月14日(日) 17:41
by ミノン
>@こまさん
 ご指摘ありがとうございます、成程その方法がありました!

 しかし、今回は何とかその画面を作りたいと考えております。何故なら、今後作る予定にしている画面で使えるかもしれないと考えているからです。何とかなりませんでしょうか?

 参考にした「Scene_Shop」クラスでは、Window_Commandクラスを継承して、コマンドを選択する画面を作成しておりましたが…。私が試行錯誤した限りでは、Window_Commandクラスを継承すると、コマンド選択しか出来なかったので…。

 お願いします、助けてくださいですm(_ _)m

Re: 確認画面の表示について

Posted: 2016年8月15日(月) 11:08
by 奏ねこま
選択肢ではなく、シーンを自作したいということでしょうか。
だとしたら、流石にここで私が説明しきれるものではないので、申し訳ないですが他の方にお願いします…。

ちなみに、Scene_ShopはWindow_Commandを含め、8つ(正確にはダミーでもう1つ)のウインドウを組み合わせて作られています。
1つのウインドウをどうこうしても再現できるものではありませんので、そこのところ予めご理解ください。

Re: 確認画面の表示について

Posted: 2016年8月16日(火) 10:59
by ミノン
>@こまさん
 返答ありがとうございます。様々なご指南ありがとうございます。右も左も分からないまま、なんとなく作っていたのでとても助かります。

 はい、@こまさんのおっしゃる通りシーンを自作したいのです...。
 あれから試行錯誤して、もう少しでできそうなのですが中々出来なくて困っています。

 あの、Window_Baseの背景とWindow_Commandの背景を非表示にする方法が知りたいのですが、教えて下さいm(_ _)mお願いしますm(_ _)m

 宜しくお願いしますm(_ _)m

Re: 確認画面の表示について

Posted: 2016年8月16日(火) 11:26
by 奏ねこま
背景を非表示にするのは、それぞれのウインドウの中で
this._windowBackSprite.visible = false;
とするか、
this.backOpacity = 0;
とすれば出来ると思います(未確認)。
後者は正確には非表示ではなく透明化ですが。

なお、Window_Baseはその名の通り、他のウインドウのベースですので
これの背景を非表示にしたら、すべてのウインドウの背景が非表示になってしまいます。

Re: 確認画面の表示について

Posted: 2016年8月16日(火) 12:17
by ミノン
>@こまさん

 教えて下さり、ありがとうございます。また、ご指摘ありがとうございます。勉強になります。
 @こまさんに教えて戴いた、「this._windowBackSprite.visible = false;」「this.backOpacity = 0;」両方をやってみたところ、おっしゃる通り背景の色が非表示にすることが出来ました。
 しかし、そうなると一番下に敷いていた画面の色が出てこなくておかしい画面が出来てしまいました...。

 srcを添付致しますが、何がおかしいのか皆目見当が付きません...。何ででしょうか...。

 すみませんが、宜しくお願い致しますm(_ _)m

Re: 確認画面の表示について

Posted: 2016年8月22日(月) 00:42
by 奏ねこま
もう見られないかもですけど…

ウインドウが重なっている部分について、先に表示したものが消えてしまうのは、MVの仕様です。
消えないようにする方法はありますが、それをここで1から10まで説明するのはちょっと難しいので、
ざっくりした説明のみでご容赦ください。

まず、Scene_Base.prototype.createWindowLayerを参考にして、
this._windowLayerとは別に、もう1つウインドウレイヤーを作成してください(addChildも忘れず)。

次に、73行目と83行目でWindow_ConfirmationとWindowCommand_ConfirmationをaddWindowしていますが、
addWindowではなく、↑で作成した「もう1つのウインドウレイヤー」にaddChildしてください。

これで、下地のウインドウと確認画面用のウインドウはウインドウレイヤーが異なるため、
お互いに干渉せず、表示されるようになります。

※ウインドウレイヤーというのは、ウインドウを貼り付ける層みたいなものです。
※同じレイヤーに貼られたウインドウはお互いに干渉し、レイヤーが異なれば干渉しない。
※そんな感じです。

Re: 確認画面の表示について

Posted: 2016年8月23日(火) 19:39
by 奏ねこま
ミノン さんが書きました:>@こまさん
引用したら通知欄に表示されるかな?

Re: 確認画面の表示について

Posted: 2016年9月04日(日) 11:51
by ミノン
>@こまさん
 連絡が遅くなり、大変失礼致しましたm(_ _)m
 先程、こまさんの言う通りに試してみたところ、此方が期待通りの画面を表示する事が出来ました。

 @こまさん、本当にありがとうございましたm(_ _)m

 ウィンドウレイヤーというのは、ウィンドウを張り付ける層なんですか。教えて下さりありがとうございましたm(_ _)m