XNA를 사용한 제 1의 2D 게임을하고 있는데 약간의 문제가 있습니다.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 스크롤, 내 스프라이트에 실행 효과를 부여하려면 같은 코드가 다른 SpriteSheet 스프라이트가 왼쪽으로 실행될 때. 모든 것이 잘 작동합니다. 90 %의 시간을 말하고 싶지만 나머지 10 %는 스프라이트 시트의 두 프레임 (왼쪽 및 오른쪽)의 프레임 중 하나에 남아 있으며 프로그램을 닫을 때까지 멈추지 않습니다. 그게 바로 같은 순간에 일어난 적이 없기 때문에 나는 이유를 알아 내지 못합니다. 때로는 10,15,30 초 후 그리고 가끔은 부팅도합니다! 그 이유는 무엇입니까? 미리 감사하고