包含用户控制图像的矩形'rec'在遇到其中一个'thing'矩形时会下降并停止下降,但是当用户按下空格键时似乎不想跳转。
奇怪的是,这个工作正常,直到我调整了其中一个矩形的大小,现在它似乎根本不想跳。它承认它已经与其他一个矩形相交,但是当按下空格键时,bool inAir
在任何点都不会变为假,以允许矩形跳跃。
关于如何摆脱这个问题的任何想法?
foreach (Rectangle thing in land)
{
if (rec.Intersects(thing) && rec.Bottom >= thing.Top)
{
inAir = false;
count = 0;
rec.Y = (thing.Top - rec.Height);
}
if (!rec.Intersects(thing))
{
inAir = true;
}
}
if (!hasJumped && !inAir) { oldY = rec.Y; }
if (keypad.IsKeyDown(Keys.Space) && !inAir)
{
countJ++;
hasJumped = true;
velocity = (int)(powerJ * speedJ + countJ);
}
else { hasJumped = false; countJ = 0; }
if (hasJumped)
{
if (rec.Y - velocity > oldY - maxJ)
{
rec.Y -= velocity;
}
else
hasJumped = false;
}
if (inAir && !hasJumped)
{
count++;
int round = 4 % count * 2 + count;
rec.Y += round;
}