我让纹理移动就像减少它的X轴一样。但问题是,当我以越来越快的速度移动它时,它无法正确添加。我的示例代码如下所示。
picx = 0;
newpicx = 1024;
if(speed<20) speed+=.05f;
picx -=speed;
newpicx -= speed;
if ((picx + 1024 - speed-4) <0) {
picx = 1024;
}
if ((newpicx + 1024 - speed-4) <0) {
newpicx = 1024;
}
答案 0 :(得分:0)
你的代码没有多大意义,但这是我的尝试:
picx = 0;
newpicx = 1024;
if(speed<20) speed+=.05f;
picx -=speed;
newpicx -= speed;
if ((picx + 1024 - speed-4) <0) {
picx = 1024;
}
if ((newpicx + 1024 - speed-4) <0) {
newpicx = 1024;
}
你正在制作两张“pic”,无论是什么,它们的x位置从1st = 0,2nd = 1024开始。然后你使用稳定在20的增加速度向左移动(负x),当它们在x轴上低于0时超过1024个单位时,它们传送到正1024.
然后当你开始增加x而不是减少时,你会遇到问题。那是因为当他们+1024单位正x时你没有处理。
picx +=speed*delta; //use delta for FrameIndependant Movement
newpicx += speed*delta;
if (picx > 1024){
picx = -1024;
}
if (newpicx > 1024){
newpicx = -1024;
}