以下のコードですが。XとY軸両方動いてるときのめり込み量の修正方法が知りたいです。
例えば左下から右上に向かって飛んでる来るプレイヤーをY軸だけ下に修正したり。左上から右下に飛んでる来るプレイヤーをY軸だけ上に修正したりするプログラム
のアルゴリズムが知りたいです。
void BoxCollision::Intersect(BoxCollision& col)
{
// printf("%f\n",getVector().y);
if ((col.getMax().x > box.mMin->x && box.mMax->x > col.getMin().x)
&& (col.getMax().y > box.mMin->y - getSpeed().y && box.mMax->y - getSpeed().y > col.getMin().y))
{
setCol(true); //当たり判定を設定
setColTag(col.getMyTag()); //タグを取得
col.setColTag(getMyTag()); //タグを設定
else
{
//交差していない
setCol(false);
setColTag(Tag::Invalid);
col.setColTag(Tag::Invalid);
}
}