在LibGdx中快速移动纹理



我让纹理像减少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;     
}

您的代码没有多大意义,但这是我的尝试:

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;     
}

你正在制作两个"图片",不管是什么,它们的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;     
}

最新更新