現在靈異伝のようなものを作ってます。ボールの挙動、お札飛ばす、自機操作まではできたのですが、
お祓いの仕組みがよくわかりません。自力で実装しても陰陽玉が変な方向に飛んでばかりです。
環境とか:Windows10 ノートPC VS2019 Comunity C++ DXライブラリ(をちょっと使いやすくした自作ライブラリ)
以下が該当部分のソースコードです。
template <typename T>
struct Vec2<T>{
T x,y;
}
using Position = Vec2<int>;
struct Balls {
Texture mTex;//陰陽玉の画像
Position mPos;//陰陽玉のX,Y座標
double mAngle;//陰陽玉の動く向き
Vec2<double> mSpeed, mSpeedFirst;//現在の速度と初速度
int32 mTime;//飛んでからの経過時間
};
auto Oharai = [&](){
double ang = atan(static_cast<double>(-mBall.mPos.y + window.WindowRect.y - PLAYER_SIZE.y / 2.0) / static_cast<double>(mPlayer.mPos - mBall.mPos.x));//ここをどうにかしたい
mBall.mAngle = 0.5 * PI + ang;
mBall.mSpeedFirst = { START_BALLSPEED * cos(mBall.mAngle), START_BALLSPEED * sin(mBall.mAngle) };
if (mBall.mSpeed.x >= 0) {
mBall.mSpeedFirst.x = -abs(mBall.mSpeedFirst.x);
}
else {
mBall.mSpeedFirst.x = abs(mBall.mSpeedFirst.x);
}
mBall.mSpeed = mBall.mSpeedFirst;
};
ちょっとしたことでもいいので手助けお願いします。
必要なことが抜けてたら追記します。