Я делаю игру с прокруткой на Android и с трудом выясняю, почему код ниже не уменьшается после 0.
Объекты начинаются в конце экрана (таким образом, позиция x равна ширине экрана), объекты перемещаются по экрану, уменьшая их позиции x. Я хочу, чтобы они прокручивались за пределы экрана, но когда позиция х достигает 0, объекты просто остаются на 0, они не перемещаются в негативы.
Вот мой код для перемещения объектов на экране
private void incrementPositions(long delta) {
float incrementor = (delta / 1000F) * Globals.MAP_SECTION_SPEED;
for(Map.Entry<Integer, HashMap<Integer, MapSection>> column : scrollingMap.entrySet()) {
for(Map.Entry<Integer, MapSection> row : column.getValue().entrySet()) {
MapSection section = row.getValue();
section.x -= incrementor;
}
}
}
Все работает нормально, если я изменяю
section.x -= incrementor;
до
section.x = section.x - (int)incrementor;
но если я это сделаю, прокрутка не будет выглядеть плавно.