anonimo ha scritto:
In che senso "conoscere gli spostamenti"?
A mio avviso, nella tua implementazione dovresti scindere le due parti, quella di rappresentazione logica degli elementi del gioco, ossia l'omino, gli edifici, la mappa intera, ecc. da quella che è la rappresentazione grafica degli stessi, che invece magari deve tenere conto di altri fattori per posizionare correttamente gli attori all'interno dello scenario di gioco.
Riassumendo, se l'omino è a contatto o meno con un edificio in uno dei suoi possibili lati di spostamento, dovresti rilevarlo sulla tua "mappa virtuale" completa; quando invece vai a visualizzare questa mappa, la centratura della scena o della posizione di gioco dovrebbe essere adeguata ai criteri che ti sei posto, ma eviterei di fondere le due cose, ossia - per esemplificare - di determinare le collisioni tenendo conto della posizione degli elementi incorporando anche i concetti di centratura, spostamenti relativi per la visualizzazione e quant'altro, altrimenti non ne esci.
Per il resto, riguardo il tuo problema non si può affermare altro che la logica (non riportata) di determinazione delle posizioni è sbagliata. Punto.