りよねこたわ~

ロールプレイングゲーム作ってみたいにゃ~でもどうしたらいいのにゃ~?

壁ドンしたときに音を出すにゃ~

ω・`) 12枚目のマップとイベントを作成中にゃ~。

ω・`) うにゃ?進むのが遅いにゃ~?

っ´ーωー`)っ 11枚めのマップで相当苦戦したからにゃ~。

 

ω・`) それはさておきにゃ~。

3Dダンジョンといえば、壁に向かって進もうとしたときに出る(鳴る?)アウチッ!って文字と音にゃよね~w

今は文字は出せないけど、音はなんとか出せるようになったにゃ~。

移動方法は、3Dダンジョン用にちょっといじっていて、

 ↑:一歩前に移動

 →:右を向く

 ←:左を向く

 ↓:後ろを向く

って動作するようにしたにゃ~。

これに、つぎのようなコードを追加するんにゃ~。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

var tmpx = $gamePlayer.x;

var tmpy = $gamePlayer.y;

 

if (Imput.isTriggered('up')) {

    $gamePlayer.moveForward();

    if (tmpx === $gamePlayer.x) {

        if (tmpy === $gamePlayer.y) {

            AudioManager.playSe({"name":"Blow2", "volume":90, "pitch":100, "pan":0});

        };

    };

}; 

 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

まず、$gamePlayer.xと、$gamePlayer.yで、現在のキャラクターの座標を取得するにゃ~。

Input.isTriggered('up')は、↑キーが押された時にゃね。

で、↑キーが押されたときに、一歩前に進む($gamePlayer.moveForward();)にゃ~。

その後で、キャラクターの座標と、前もって取得したキャラクターの座標を比較(tmpx === $gamePlayer.xtmpy === $gamePlayer.y)して、同じ場合は、SEを鳴らす(AudioManager.playSe)って処理なんにゃ~。

 

ω・`) うにゃ~、簡単にゃよね~?