図々しいDXライブラリ初心者です。
自分は新・ゲームプログラミングの館を参考にしてゲームを制作しています。
自分はマップ上にあるオブジェクトに対応してキャラクターが移動するプログラムを組もうと思っています。
説明が難しいのですが、マップ上にあるオブジェクトというのが磁石で、片方のキャラクターがN、もう片方がSという形にしたいです。
例を出してしまえば、ゼルダの伝説に出てくるマグネグローブからNS切り替えをとったようなイメージです。
「キャラクターが特定の座標とx軸かy軸が同じ時、あるキーを押している間だけ、ある座標までキャラクターが移動する、ある座標から壁に当たるまで離れる」という処理をさせたいのですが、自分ではどうすればいいのか分かりません。
下が自分が考えた精一杯です。オブジェクトは416,288の位置にあります。
コード:
void magnet(int x, int y, int direction) {//ステージ1自機A 吸い寄せの処理
if (direction == 0)//上向きなら
if(x == 416 && Key[KEY_INPUT_I] >= 1)
while (y > 384)
y++;
if (direction == 1)//左向きなら
if(y == 288 && Key[KEY_INPUT_I] >= 1)
while (x >576)
x++;
if (direction == 2)//下向きなら
if(x == 416 && Key[KEY_INPUT_I] >= 1)
while (y > 64)
y++;
if (direction == 3)//右向きなら
if (y == 288 && Key[KEY_INPUT_I] >= 1)
while (x > 64)
x--;
}