【スクリプト講座】指定した座標にいるとき”のみ”スイッチをオンにする
こんにちは、だぶるです。
指定した場所にキャラクターがいるときのみ、スイッチをオンにするということをしたかったのですが、うまくできなかったため、スクリプトでやってみました。
日本語だとわかりにくいのでスクショでどうぞ。
キャラがイベントの上に乗ったときオンにし、離れたらオフという処理。
スクリプトはこちら。
◆スクリプト:if(this.character(-1).x == this.character(0).x && this.character(-1).y == this.character(0).y){ :スクリプト:$gameSwitches.setValue(1,1); :スクリプト:}else{ :スクリプト:$gameSwitches.setValue(1,0); :スクリプト:}
これを白のマスにスクリプトで埋め込んでくださいな。
いないときオフにする処理も含むのでトリガーは並列処理で。
では、細かい解説をいたします。javascriptさんの知識が必要ですが、私もよくわからないまま書いてたりするので、楽にいきましょう。
this.character(数字).x//数字が-1のときは、操作しているキャラのx座標,0のときはイベントのx座標を取得します。xをyに変えればy座標を取得してくれます。
if(this.character(-1).x == this.character(0).x && this.character(-1).y == this.character(0).y){
tureのときの処理
}else{
それ以外(false)のときの処理
}
この場合、「もし、操作キャラのx座標とイベントのx座標が同じ、かつ、操作キャラのy座標とイベントのy座標が同じなら」という条件分岐になります。比較演算子とか出てますがこんなもんだでいいと思います。
$gameSwitches.setValue(変えたいスイッチの番号,0か1);
変えたいスイッチの番号に、スイッチの番号をいれ、
オンにするときに、1、オフにするときに0、を書いてください。
処理としては、「変えたいスイッチの番号に0か1を代入する」です。
今回はスイッチのオンオフしかやらずに、続きのイベントはほかのイベントに処理を投げている形となっています。
オンのとき、この子が出現する。
オフになったら消える。という感じですね。
はい、説明するというのは難しいですね(笑)。
いかがでしたでしょうか。これはたまに使いたくなる処理だと思います。役に立てていただければ幸いです。
では。