void UpdatePlayer(gameData& _dat) { direction d = GetDirection(); switch (d) { case LEFT: _dat.Player.moveDir に左に移動するための単位ベクトルセット; break; case RIGHT: _dat.Player.moveDirに右に移動するための単位ベクトルをセット; break; default: return; } //これも関数化しちゃった方がすっきりするかもねぇ _dat.Player.posを更新(上の解説通りに) //更新した自機位置に、当たり判定用の四角形をセット SetCharaRect(_dat.Player, SizeF{ PLAYER_RECT_SIZE,PLAYER_RECT_SIZE }); }