追尾エネミーの作成方法

``C言語`ここに言語を入力
コード
enemi.cpp

for (int i = 0; i < ENEMY_MAX; i++)
{
// 動く前の座標を保存しておく(移動してぶつかった時はこの座標へ戻す為)
g_enemy[i].old_x = g_enemy[i].x;
g_enemy[i].old_y = g_enemy[i].y;

int dir = rand() % 8; switch (dir) { case 0:// ← g_enemy[i].x--; break; case 1:// → g_enemy[i].x++; break; case 2:// ↑ g_enemy[i].y--; break; case 3:// ↓ g_enemy[i].y++; break; default: break; }

プレイヤー.cpp
// 動く前の座標を保存しておく(移動してぶつかった時はこの座標へ戻す為)
g_Player.old_x = g_Player.x;
g_Player.old_y = g_Player.y;

// キー入力処理 int key = _getch(); if ((key == 0) || (key == 224)) // 特殊Keyならもう1度取得する { key = _getch(); } // 押されたkeyの方向へ移動させる switch (key) { case 'a': case 0x4b: // ← g_Player.x--; break; case 'd': case 0x4d: // → g_Player.x++; break; case 'w': case 0x48: // ↑ g_Player.y--; break; case 's': case 0x50: // ↓ g_Player.y++; break; default: break; }

今こんな感じで、フィールド上でプレイヤーが一歩動くと、エネミーも自動でランダムに一歩動くようにしているのですが、これをsin,cosの関数を使ってプレイヤーに近ずいてくるようにしたいですけどわかりませんわかる方がいたら、教えてください。

コメントを投稿

0 コメント