C# XNA中跟随鼠标的精灵动画
我以前的问题是,我的代码本来可以很好地跟踪鼠标,但当它到达鼠标时,它就崩溃了,最终消失了 我现在的问题是,当我试图用if语句修复旧的一个时,精灵坐在它的“静止”框架中,跟随鼠标直到再次到达它,然后发疯C# XNA中跟随鼠标的精灵动画,c#,animation,xna,C#,Animation,Xna,我以前的问题是,我的代码本来可以很好地跟踪鼠标,但当它到达鼠标时,它就崩溃了,最终消失了 我现在的问题是,当我试图用if语句修复旧的一个时,精灵坐在它的“静止”框架中,跟随鼠标直到再次到达它,然后发疯 if ((distanceX < 1 && distanceY < 1) || (distanceX < 1 && distanceY > -1) || (distanceX > -1 && distan
if ((distanceX < 1 && distanceY < 1)
|| (distanceX < 1 && distanceY > -1)
|| (distanceX > -1 && distanceY < 1)
|| (distanceX > -1 && distanceY > -1))
walkCurrent = still;
else {
if (velocity.X <= 0 && velocity.X > velocity.Y)
walkCurrent = walkForward;
else if (velocity.X <= 0 && -velocity.X < velocity.Y)
walkCurrent = walkBack;
else if (velocity.X <= 0 && -velocity.X > velocity.Y)
walkCurrent = walkLeft;
else if (velocity.X >= 0 && -velocity.X > velocity.Y)
walkCurrent = walkForward;
else if (velocity.X >= 0 && velocity.X < velocity.Y)
walkCurrent = walkBack;
else if (velocity.X >= 0 && velocity.X > velocity.Y)
walkCurrent = walkRight;
if (elapsed >= delay) {
if (frames >= 3) {
frames = 0;
}
else {
frames++;
}
elapsed = 0;
}
}
回答了我自己的问题
if ((distanceX < 1 && distanceY < 1)
|| (distanceX < 1 && distanceY > -1)
|| (distanceX > -1 && distanceY < 1)
|| (distanceX > -1 && distanceY > -1))
walkCurrent = still;
if((距离x<1和距离y<1)
||(距离X<1和距离Y>-1)
||(距离X>-1和距离Y<1)
||(距离X>-1和距离Y>-1))
步行电流=静止;
这不包括0处的墙,因此始终为真。现在我只需要想一想如何摆脱紧张和程序关闭。精灵消失你说的紧张是什么意思?
if ((distanceX < 1 && distanceY < 1)
|| (distanceX < 1 && distanceY > -1)
|| (distanceX > -1 && distanceY < 1)
|| (distanceX > -1 && distanceY > -1))
walkCurrent = still;