Étant donné les coordonnées de grille, comment puis-je déterminer le point central d'une cellule dont ils relèvent?

StackOverflow https://stackoverflow.com/questions/3551324

Question

Je travaille sur un jeu de société simple en utilisant Appcelerator Titanium pour iPhone (javascript - pas qu'il importe à cette question vraiment).

Mon problème est pas vraiment spécifique à la langue, il est plus d'une question de programmation générale et en mathématiques.

I possède une grille de « cellules » qui est de 10 colonnes par 10 rangées (100 cellules). Il est un jeu de plateau, comme dames / projets.

En partant du haut vers le bas et se déplaçant, les rangées sont marqués « A » à « J »

À partir de la droite à gauche et en mouvement, les colonnes sont marquées « 0 » à « 9 »

Chaque cellule est 32x32 (pixels).

Je peux faire glisser un jeton sur / sur la grille et quand je relâche, il me rapporte aux coordonnées x / y de l'endroit où je intervenir, ex: 124302. Je ces coords à ma disposition dans les variables.

Alors, ma question est, comment puis-je déterminer le point central de la cellule que je libéré plus, pour que je puisse centrer le jeton dans cette cellule?

Toutes les idées sur la façon d'y arriver?

Était-ce utile?

La solution

Utilisation division entière de "rond" off les coordonnées brutes.

x = (x / 32) * 32 + 16;
y = (y / 32) * 32 + 16;

Parce que les chiffres sont des puissances de deux, vous pouvez également utiliser des opérations de bits.

x = (x & ~0x1F) | 0x10;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top