Udrengning af forskel i uints
Hejsa Eksperter.En hurtig simpel en der driller mig.
kode:
uint locX = (uint)(terrainPosition.X - 32768); // Get difference from startX (in 64 cells)
uint locZ = (uint)(terrainPosition.Z - 32768); // Get difference from startZ (in 64 cells)
uint diffX = locX / 64; // difference amount
uint diffZ = locZ / 64; // difference amount
Okay, den skal omregne som dette eksempel
hvis terrain start x,z er 32768, 32768 så skulle den give 0,0
hvis terrain start x,z er 32832, 32768 så skulle den give 1,0
MEN, laver jeg så 32768, 32704, giver den et SYGT tal, problemet ligger i
uint locZ = (uint)(terrainPosition.Z - 32768); // Get difference from startZ (in 64 cells)
for hvis den er lavere en 32768, giver denne linie noget med 43764841 og ikke -64 som den skulle.
nogen der ved hvorfor ?
Mange tak