【解決済】制限時間内にボタンを押すことで開始するイベントを作りたい

返信する
ころあ
記事: 51
登録日時: 2017年8月16日(水) 08:55

【解決済】制限時間内にボタンを押すことで開始するイベントを作りたい

投稿記事 by ころあ »

いつもお世話になっております。

移動画面において並列イベントで
「制限時間内にボタンを押すことで開始(又は終了)するイベント」が作れないかと思い、質問させていただきました。

具体的な内容としては

一定時間ごとにプレイヤーにフキダシが表示され、フキダシが消えるまでに決定ボタンを押さなければ
ダメージを受ける(ボタンを押すことで回避できる)

というイベントを作りたいのですがなかなかうまくいきません。

条件分岐で「Input.isTriggered('ok')」とすればできるのではないかと思うのですが・・・

ご存じの方、どなたかいらっしゃいましたらご教授願えないでしょうか。
どうぞよろしくお願い致します。
最後に編集したユーザー ころあ [ 2020年8月03日(月) 22:48 ], 累計 1 回
アバター
たくろう
記事: 22
登録日時: 2020年7月01日(水) 18:18
連絡する:

Re: 制限時間内にボタンを押すことで開始するイベントを作りたい

投稿記事 by たくろう »

ころあさん、こんにちは!

制限時間があるイベントは緊張感が出て盛り上がりますよね!

他の方のプラグイン紹介になってしまうのですが、
下記ページで紹介されているプラグインを使用することで制限時間を設定したイベントが作成できます。

軽く試したところ、私がイメージした「タイムアウトでダメージ」が実現できそうな感じがしました。
 選択肢を選択したら回避の処理
 押さないと条件分岐のキャンセル時の処理→ダメージを受ける処理を設定しておく

ムノクラ 様のサイト > ツキミ 様のプラグイン
時間制限付き選択肢 - TimeLimitedChoice.js
https://plugin.fungamemake.com/archives/13558

ころあさんのやりたいこと実現できそうでしょうか??
ころあ
記事: 51
登録日時: 2017年8月16日(水) 08:55

Re: 制限時間内にボタンを押すことで開始するイベントを作りたい

投稿記事 by ころあ »

たくろう様

ご返信、ありがとうございます。
教えていただきましたプラグインを拝見しました。

こちらのプラグインを使用すれば確かに時間制限内で選択肢を選ばせる、というイベントはできそうですね。
ただ、できれば選択肢のウィンドウを表示することなく、
直感的に決定ボタン等を押下する形でできれば・・・と思うところです。
(押下タイミングの告知のためにフキダシアイコン「!」を表示し、アイコンが消えるまでにボタンを押さないとダメージを受ける・・・といった感じです。)

うまく説明できなくて申し訳ありません。
また、検索と返信のお時間を割いていただき、ありがとうございます。
(教えていただきましたプラグインは別の場面で有用ですので有難く使わせていただこうと思います)

引き続き、方法を模索していきたいと思いますので
対応ご存じの方がいらっしゃいましたらどうぞよろしくお願い致します。
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 制限時間内にボタンを押すことで開始するイベントを作りたい

投稿記事 by sally »

コモンイベントの並行処理をスイッチで起動させた場合、
ウェイトを該当コモンイベントの次の処理への待機時間として使えますので、
そちらを使えば再現可能と思いますがいかがでしょうか。

用意するのは、
1.タイマー用コモンイベント
2.ボタン処理用コモンイベント
の二つです。

タイマー用コモンイベントは
トリガー:並列処理、条件:スイッチ0001、内容を
フキダシアイコンの表示(ウェイト)
スイッチ0001をオフ
とだけ設定します。

ボタン処理用も
トリガー:並列処理、条件:スイッチ0001とし、内容を
条件分岐:ボタン○○が押されている
スイッチ0001をオフ
【成功時イベントを実施】
 :分岐終了
スイッチ0001をオフ
【失敗時イベントを実施】

ボタン操作を連続で行わせたい場合は、
別のコモンイベントにて変数によるループを組み込むなどをすれば再現できます。

たとえば
トリガー:並列処理、条件:スイッチ0002
変数0001を1加算
条件分岐:変数0001が10以下 
スイッチ0001をオン
 :それ以外の場合
   【終了時イベントを実施】
 :分岐終了
スイッチ0002をオフ

後は前述のボタン処理用イベントにて、スイッチ0002をオンにする処理を入れれば、
10回のボタン処理イベントを行わせることができます。
ころあ
記事: 51
登録日時: 2017年8月16日(水) 08:55

Re: 制限時間内にボタンを押すことで開始するイベントを作りたい

投稿記事 by ころあ »

sally様

ご返信、ありがとうございます。
いただきました回答を元にいじってみたところ、うまくいきました。

制作しているゲームでは「あるエリアにいる間、断続的にダメージイベントが発生するのでこれを発生都度回避するイベント」を設定したかったので下記のようにやってみました。

1.タイマー用コモンイベント
トリガー:並列処理、条件:スイッチ0001【エリアに侵入したことを判定するためのスイッチ】

◆スイッチの操作:#0002 【ダメージイベント発生スイッチ】 = ON
◆フキダシアイコンの表示:プレイヤー, びっくり (ウェイト) 【回避するための制限時間】
◆条件分岐:#0003【ダメージイベント回避判定】がON 【回避を成功したときのイベント】
◆アニメーションの表示:プレイヤー, 【ダメージのアニメーション】
◆移動ルートの設定:プレイヤー 【ダメージ回避アクション】
:        :◇向き固定ON
:        :◇移動速度:6
:        :◇ジャンプ:+0, +0
:        :◇一歩後退
:        :◇向き固定OFF
:        :◇移動速度:4
◆スイッチの操作:#0003 【ダメージ回避判定】 = OFF 【ダメージ回避判定をリセットする処理】

:それ以外のとき【回避できなかった場合のイベント】
◆アニメーションの表示:プレイヤー, 【ダメージのアニメーション】
◆フキダシアイコンの表示:プレイヤー, 【ダメージ回避失敗を示すフキダシ】
◆スイッチの操作:#0003 【ダメージ回避判定】 = OFF 【ダメージ回避判定をリセットする処理】

:分岐終了
◆スイッチの操作:#0002 【ダメージイベント発生スイッチ】 = OFF
◆ウェイト:240フレーム 【次のイベントが発生するまでのインターバル】

2.ボタン処理用コモンイベント
トリガー:並列処理、条件:スイッチ0002【ダメージイベント発生スイッチ】
◆条件分岐:スクリプト:Input.isTriggered('ok')
◆スイッチの操作:#0003 【ダメージ回避判定】 = ON

:それ以外のとき

:分岐終了

ご提案いただいた部分に対して以下の点を変えてみました。

・1.と2.のコモンイベントの発生スイッチを別にして
 1.のコモンイベント発生直後に2.のコモンイベントが発生するスイッチをONにした
・2.のコモンイベントの条件分岐を「決定ボタンを押したとき」ではなく
 スクリプト:Input.isTriggered('ok')に変えてダメージ発生(回避)イベントを1.に移した


ご提案いただいたイベントで実践してみたところ、1回のみの発生であればうまくいきましたが
「〇〇ボタンが押されている」という条件分岐で処理をした場合、
「該当ボタンを押し続けることでも対処できてしまう」ということに気づき、
断続的に対処を要求する場合においては「ボタンを押し続けることでダメージを回避できてしまう
(連続してボタン入力を要求する緊張感がなくなってしまう)」という問題に直面しました。
(この部分は説明が足りませんでした。申し訳ありません)

この問題を回避するために条件分岐を「Input.isTriggered('ok')」に変え、
1.をダメージイベント発生と回避判定のイベントとし、
2.をボタン押下をしたかどうかのチェックという役割にすることで対処してみました。
(間にスイッチ2を入れることで2.のコモンイベントが常時発生しないようにし、2.のコモンイベント発生ごとにボタン押下の判定を行うようにしました)

これが模範的な処理かどうかは解りませんが、
ひとまず望む結果となったので【解決済】とさせていただきます。

解決につながるヒントをくださいまして本当に有難うございました。

また、たくろう様、sally様共に解決のためのお時間をお取りくださいまして有難うございます。
返信する

“MV:質問”に戻る