Я думаю, что слайд в порядке, возможно, moveTo или floatTo также будет в порядке.
И еще одна идея. когда вы используете эту функцию, как это:
Slide(0, 5, 10);
(что означает, что «by» больше возможного шага)
и вы будете вызывать его несколько раз, объект будет колебаться вокруг положения "в".
Вы должны добавить немного обработки для этого. Как:
float slide(float from, float to, float by) {
float difference = to - from;
if(difference > by && from + by < to) {
return from + by;
} else if(difference < -by && from - by > to) {
return from - by;
} else {
return to;
}
}
надеюсь, это поможет.