これでは、int
値が整数であるか小数であるかをテストしています。小数である場合は、値をゆっくりと加算または減算して整数にします。最初と 3 番目の部分は機能しますが、2 番目と 4 番目の部分は機能しません。
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
ですが、 増える量が毎回変わるようです。