您好我试图让敌人左右移动,好像他们向前和向后滑动我知道这可以通过以下代码完成:
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;
}
关于如何实施它的任何想法? 感谢
答案 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)