【解決済み】プラグインコマンドでのウェイトについて。
Posted: 2017年4月12日(水) 08:02
はじめまして。
演出で必要になり、よく使う処理でもあったのでプラグインコマンドを
作ろうとしているのですが、どうにも上手くいってくれないので質問させて頂きます。
作りたいのは「キーの入力を検知したらスキップできるウェイトコマンド」です。
for文で「this.wait(1)」を送り続けて「if(Input.isTriggered('ok')){break;}」のように
キー入力を受け取ったらbreakしよう、と考えたのですが、動かず。
コンソールウィンドウにログを出してみればスクリプト上でウェイトもしなければ
キー入力も受け付けていなかったようです。
this.waitに長い時間を直接入力するとゲーム側にはその分ウェイト命令が送られて
進行が止まるものの、肝心のfor文は止まらずにループし続けていたので
やろうとしている方法が仕様の段階で間違っていることはわかったのですが……。
何か方法は無いでしょうか?
一応、上手くいかなかったコードも記載しておきます。
また、問題の解決とは直接関わりないのですが
「いずれかのキーを入力された時」を判定したい時の方法がわからずに
と、とても力技なコードを書いてしまっているので
そちらもよろしければ省略方法をご教授頂ければ幸いです……。
ご助言よろしくお願いいたします。
演出で必要になり、よく使う処理でもあったのでプラグインコマンドを
作ろうとしているのですが、どうにも上手くいってくれないので質問させて頂きます。
作りたいのは「キーの入力を検知したらスキップできるウェイトコマンド」です。
for文で「this.wait(1)」を送り続けて「if(Input.isTriggered('ok')){break;}」のように
キー入力を受け取ったらbreakしよう、と考えたのですが、動かず。
コンソールウィンドウにログを出してみればスクリプト上でウェイトもしなければ
キー入力も受け付けていなかったようです。
this.waitに長い時間を直接入力するとゲーム側にはその分ウェイト命令が送られて
進行が止まるものの、肝心のfor文は止まらずにループし続けていたので
やろうとしている方法が仕様の段階で間違っていることはわかったのですが……。
何か方法は無いでしょうか?
一応、上手くいかなかったコードも記載しておきます。
コード: 全て選択
var w = args[0];
for (var i = 0 ; i <= w; i++) {
if (Input.isTriggered('ok') ){
console.log("break!");
break;
}
this.wait(1);
console.log(i);
}
「いずれかのキーを入力された時」を判定したい時の方法がわからずに
コード: 全て選択
if( Input.isTriggered('ok')
|| Input.isTriggered('cancel')
|| Input.isTriggered('shift')
|| Input.isTriggered('up')
|| Input.isTriggered('down')
|| Input.isTriggered('left')
|| Input.isTriggered('right')
|| TouchInput.isTriggered()
|| TouchInput.isCancelled()
){break;}
そちらもよろしければ省略方法をご教授頂ければ幸いです……。
ご助言よろしくお願いいたします。