我正在使用以下代码,其中 samosarect 是一个以某种速度从右到左的对象(假设每个循环 10 像素),舌头矩形是我的玩家的舌头,宽度增加到 200,然后再次减小到 0。舌头仅在舌头时增加是真的,当我按下拍摄按钮时,舌头布尔值变为真。所以我的问题有时是我的播放器(舌头)不吃(不与 samosarect 相交)samosa(我用眼睛观察矩形相交但我的代码不是得到那个),有时它(与适当的动画相交)吃samosa没有任何问题。
if (Texture.samosarect.Contains(Texture.tonguerect) || Texture.tonguerect.Intersects(Texture.samosarect) && tongue)
{
Texture.tonguerect.Y = -50;
System.Diagnostics.Debug.WriteLine("eated samosaaa");
Texture.samosarect.X = -400;
eateds = true;
jumpframe = 17;
tonguereached = true;
caught = true;
if (MainPage.togkey == 1)
eateffect.Play();
if (!catchedd)
{
score += 30; catched++; catchedd = true;
showpoint = true;
}
else { catchedd = false; }
}