Affecter des ID en fonction d'une collision

Bonjour,

Je me creuse la tête tout aujourd’hui pour trouver une solution à mon problème :

Grâce à un sujet sur le forum j’ai pu créer des ID pour 2 types d’objet :
-L’objet “emplacement”
-Le groupe “Territoire” incluant toutes mes images territoire 1, 2, 3, …

Ces deux types d’objets ont donc chacun une ID unique.
Ce que je voudrait faire, c’est réussir à affecter une ID aux objets “emplacement” en fonction de si il sont sur le Territoire 1, 2 ou 3.

Imaginons qu’il y ait 3 objets “emplacement” par territoire, donc 3X3 = 9
Avec un système d’ID simple, mes ID serait donc de 1 à 9 (ou 0 à 8), ce que je ne veux pas.
En effet j’aimerais que mes 3 objets “emplacement” portent l’ID 1, 2 et 3 sur chaque territoire.

Pour info, mon projet est un wargame sur une worldmap, j’aimerais réussir ce système pour pouvoir, en faisant un glisser/déposer de mes pions, “magnétiser” en quelque sorte les “emplacements” pour que mes pions s’y collent s’ils sont en contact avec le “territoire”.

Donc si le pion est en contact avec le territoire N°1, si l’emplacement N°1 est libre (pas de pions dessus) alors magnétiser. Sinon magnétiser sur emplacement N°2…

J’espère avoir été clair dans ma requête, si ce n’est pas le cas, signalez le moi.
Si vous avez une manière plus simple de faire, je suis également preneur ^^

Merci d’avance.

Up toujours personne pour me répondre ? :’(

Attention ! Si personne ne me réponds je créerais un autre sujet XD

Bonjour,

Je ne suis pas certain d’avoir compris… Mais au cas où :

Je ferais un truc du style incrémenter des variables de scène pour l’utiliser comme numéro d’ID pour l’emplacement.

Variable de Scène Territoire1=0 Territoire2=0 Territoire3=0

Quand un “emplacement” est mis sur le territoire1 (par exemple):
1- Faire Territoire1=Territoire1 + 1 (Territoire1=1)
2- IDemplacement = TerritoireX (ID=1)

Du coup, le second emplacement sur ce même territoire prendrais la valeur 2, etc…

Qu’en penses-tu ?

J’ai lu vite fait, une approche qui me vient est d’utiliser deux variables pour les objet Emplacements : Une variable “Territoire” et une variable “Position”.
La variable “Territoire” contient le numéro du territoire sur lequel est l’emplacement. La variable “Position” sa position donc.

Ensuite, pour avoir par exemple tous les emplacements d’un territoire, il suffit de faire :

Conditions : La variable "Territoire" de Emplacement est = à 1 Actions : Détruire Emplacement

pour détruire par exemple ici tous les emplacements qui sont sur le territoire 1.
On peut aussi placer automatiquement les objets :

[code]Pour chaque objet Emplacement
Conditions : La variable “ID” de Territoire est = à Emplacement.Variable(Territoire)
Actions : Aucune
Sous évènements :
Conditions : La variable “Position” de Emplacement est = à 0
Actions : Mettre Emplacement à la position Territoire.X();Territoire.Y()

Conditions : La variable “Position” de Emplacement est = à 1
Actions : Mettre Emplacement à la position Territoire.X()+32;Territoire.Y()+32[/code]

Ici, pour chaque objet Emplacement, je récupère le territoire associé ( en considérant que les territoire sont repérés par leur variable ID ) et je déplace “Emplacement” dessus. Je le décale au besoin suivant sa position.

Merci beaucoup, je n’ai pas suivit à la lettre vos explications mais avec votre aide j’ai quand même pu réussir ce que je voulais.
Je vous en suis très reconnaissant à tout les deux.