メモ帳

備忘録

GameMaker Studio 2で一方通行の足場を実装する

基本的な方針は次の動画を参考にする。

www.youtube.com

この動画に従うと、足場より下にプレイヤーがいる場合に、プレイヤー以外のオブジェクトも一方通行の足場をすり抜けてしまう。 これを防ぐために、下の記事の一番目の解答を参考にして、mask_indexを指定する部分のコードをplayerオブジェクト内に移動させる。

www.reddit.com

例えば、一方通行の足場のスプライトのoriginが(0, 0)の場合は、以下のようなコードで一方通行の足場を実現できる。

// obj_playerのstep event

with (obj_solid_one_way) {
    if (other.bbox_bottom >= bbox_top) {
        mask_index = -1;
    }
}

// ================================ 
// player collision and movement
// ================================ 

with (obj_solid_one_way) {
    mask_index = spr_solid_one_way;
}