В этом случае я проверяю, является ли значение int
целым числом или имеет десятичное значение, если оно имеет десятичное значение, оно медленно добавляет или вычитает значение, чтобы сделать его целым числом. Первая и третья части работают, а вторая и четвертая не работают.Проблемы с модулем
if(ax % tileSize != 0) {
ax -= (ax % tileSize)/6; // works fine
}
if(ax % tileSize != 0) {
ax += (ax % tileSize)/6; // doesn't work
}
if(ay % tileSize != 0) {
ay -= (ay % tileSize)/6; // works fine
}
if(ay % tileSize != 0) {
ay += (ay % tileSize)/6; // doesn't work
}
Те, которые работают, уменьшаются на 48/6
каждый раз, и другие должны быть увеличены на 48/6
, но мне кажется, что сумма, которую они увеличиваются изменения каждый раз.
Что значит не работает? – Masudul
Просто быстрая мысль, но причина, по которой это может не сработать, состоит в том, что (ax% tilesize) меньше 6, и поэтому, когда java делит это число на 6, оно округляется до 0, а ax остается неизменным. –
@Masud Я только что отредактировал сообщение, чтобы ответить на ваш вопрос. – sparklyllama