我怎样才能让敌人移动?

时间:2011-03-28 09:11:02

标签: c++ opengl programming-languages

您好我试图让敌人左右移动,好像他们向前和向后滑动我知道这可以通过以下代码完成:

slide += slide_incr;                            
if(abs(slide)>30) slide_incr = -slide_incr; 

然而这对我来说毫无用处,因为我需要设置一个布尔值,这样我就可以在敌人向右或向左的时候循环帧。

我尝试了以下代码而没有运气:

if(abs(eSlide)<=0)
{
      eSlide += eSlide_incr;    
}

if(abs(eSlide)>30) 
{
      eSlide_incr = -eSlide_incr;   

}

关于如何实施它的任何想法? 感谢

2 个答案:

答案 0 :(得分:1)

如果您向前或向后滑动,您希望保持滞后状态。在边界检查时,您还混淆了如何使用abs()函数。尝试以下方面:

eSlide += eSlide_incr;
if (abs(eSlide) >= 30) {
    eSlide_incr = -eSlide_incr;
}

答案 1 :(得分:1)

对我来说第一件事就是块的内容:

if (abs(eSlid) <= 0) {
    eSlide += eSlide_incr;
}

永远不会运行(绝对值总是大于或等于0)

至于你的布尔面临,可以通过以下方式实现:

bool isSlidingRight = eSlide_incr > 0;

(注意:这仍然会使用左侧动画设置值为0)