1
我正在使用XNA开展我的第一个2D游戏,并且遇到了一些问题。 授予运行影响到我的雪碧,我经历了SpriteSheet滚动使用此代码(右运行):使用XNA的SpriteSheet动画
if (AnimationDelay == 6)
{
if (CurrentFrameR.X < SheetSizeR.X)
{
++CurrentFrameR.X;
}
else
{
CurrentFrameR.Y++;
CurrentFrameR.X = 1;
}
if (CurrentFrameR.Y >= SheetSizeR.Y)
{
CurrentFrameR.X = 0;
CurrentFrameR.Y = 0;
}
AnimationDelay = 0;
}
else
{
AnimationDelay += 1;
}
xPosition += xDeplacement;
}
而这些都是使用的对象:
Point FrameSizeR = new Point(29, 33);
Point SheetSizeR = new Point(5, 1);
Point CurrentFrameR = new Point(0, 0);
int AnimationDelay = 0;
我有SpriteSheet当精灵正在运行左边时,使用相同的代码。 一切工作正常我会说90%的时间,但其他10%的精灵动画停留在一个框架的SpriteSheet,在两个方向(左和右),它保持卡住,直到我关闭程序。 事情是我无法弄清楚为什么,因为它从来没有发生在同一时间..有时10,15,30秒后,有时甚至在启动! 任何想法为什么? 在此先感谢,让我知道,如果你需要的代码