2010-08-25 6 views
0

Je pense à la création d'une vue de plateau de jeu avec un tableau de sous-vues pour former des emplacements pour les tuiles. Je prévois d'avoir des tuiles que je peux laisser tomber sur le plateau et les faire enclencher. La partie que je ne comprends pas est quand je laisse tomber ma tuile et les feux de touche, quel est le meilleur moyen de faire défiler les sous-vues de mon plateau de jeu pour voir quelle fente je suis afin que je puisse avoir la position correcte? Ou y a-t-il une meilleure façon de garder une trace de toutes les positions "slot"? Je ne veux vraiment pas avoir à coder en dur chaque position de la cellule et ensuite garder la trace si la carte de jeu est décalée dans mon contrôleur de vue.position de l'objet par rapport à une autre sous-vue

+0

La planche est-elle semblable à un échiquier (symétrique, toutes les fentes ont la même taille et sont alignées sur une grille) ou les fentes sont-elles réparties de façon aléatoire? – Toastor

+0

Le plateau de jeu ressemble à une rangée d'échecs (symétrique, de la même taille mais d'une seule rangée) – SonnyBurnette

Répondre

1
+0

Le problème que je rencontre actuellement est le hitTest: withEvent continue de pointer vers la vue que je laisse tomber. Je veux qu'il reste interactif parce que j'ai besoin de le glisser et de le déposer mais comme c'est le top, le HitTest dit que c'est le morceau qui a reçu le hitTest. – SonnyBurnette

+0

Eh bien, une option pourrait être de faire un cycle sur les cibles possibles en utilisant pointInside: withEvent :, non? Bien qu'à partir de votre commentaire à propos de la disposition du tableau, il semble que basé sur le point, vous pouvez simplement calculer la cible directement, c'est-à-dire, en fonction du x du point de chute, . – imaginaryboy

+0

C'est la route que je vais prendre. Merci pour l'aide. – SonnyBurnette

0

ditto imaginaryboy. vous n'avez pas besoin de faire une boucle. Laissez UIKit faire le gros travail pour vous. Calculez le point central de la pièce qui a été droppée sur votre plateau et l'utilisation hitTest: withEvent: sur la vue contenant votre plateau.

Questions connexes