Création d'un objet sur un autre "RESOLU"

Bonjour,

J’ai besoin d’aide , je m’explique avec des images ça devrait être plus simple à expliquer sur l’image ci-dessous vous voyez 2 plateformes numéroté 1 et 2 lorsque je clique sur une plateforme je désire qu’un objet se créer à sa position comme vous le voyez sur la flèche numéro 2 et si je clique sur une autre plateforme je voudrais que le cercle s’efface et apparaissent sur la plateforme cliqué.

Dans l’idée ça ma pas l’air compliqué je pense qu’il faut utiliser l’extension “association d’objets” mais j’ai toujours autant de mal avec cette extension et après plusieurs bidouillage rien n’a faire je n’arrive pas à comprendre comment mettre ça en place dans les évènements.

Je précise que l’objet qui ressemble à une plateforme est créer en cliquant droit sur un objet.

J’espère avoir été le plus clair possible et vous remercie d’avance pour votre aide.

si le cercle qui doit apparaître est vraiment lié à la plateforme qu’il ne se déplace pas qu’il fait corps avec la plateforme (genre une indication de sélection) perso je ne m’embêterai pas et j’utiliserai simplement un changement d’animation sur le sprite de la plateforme, donc j’aurai dans l’éditeur de sprite pour la plateforme deux état et donc deux image sur l’image 0 la plateforme simple et sur l’image 1 la plateforme avec le cercle et il suffirai alors juste de switcher d’une image d’animation à l’autre suivant que l’on a ou pas cliquer sur la plateforme donc on test si la plateforme est cliqué si oui on vérifie quelle image d’animation est affiché si c’est la 0 on bascule sur la 1 et si c’est la 1 on bascule sur la 0
après je ne sais pas si c’est en effet ce que tu cherche à faire…

L’association d’objet pourquoi pas, je me sers jamais de cette extension (je préfère mettre des variables d’instance à mes objets et des id uniques, c’est mon coté database master), mais je ne suis pas sûr qu’il faille utiliser ces solutions.

Est-ce que ce cercle a toujours besoin d’être affiché sur une plateforme ? Ou alors il peut ne pas y avoir de cercle et alors tu veux vraiment en créer un ? On peut imaginer si il n’y a jamais qu’un seul cercle et qu’il soit déjà sur la scène, masqué, et qu’on l’affiche/positionne lors d’un clic.

En gros, je vais essayer d’être clair et concis :

  1. au lancement de la scène : masquer l’objet “cercle” (déjà présent sur la scène)
  2. Pour chaque objet objet “plateforme” : le curseur est sur l’objet, le bouton gauche est appuyé/relaché
  3. Faire plateforme.X();plateforme.Y() à la position X;Y de l’objet cercle
  4. montrer l’objet cercle

Bon tu n’as pas l’algo je n’ai malheureusement pas le temps de structurer ça ou de te faire un exemple…

En faisant ça tu auras une base… ensuite si tu veux centrer ton cercle sur la plateforme (s’ils font la même largeur), reprendre l’étape 3) comme ceci :
Faire “plateforme.X()”;“plateforme.PointY(Centre) - (cercle.Width()/2)” à la position X;Y de l’objet cercle.

Il devrait y avoir un léger décalage par rapport à la hauteur des objets mais tu seras proche d’avoir superposé les 2 comme sur ton image, il suffira de rajouter/soustraire quelques pixels à la position Y de cercle. J’ai fait ça de tête donc pardon d’avance si j’ai fait une erreur de syntaxe mais ça doit pas être loin de ça.

Après il faut jongler un peu sur les fonction montrer/cacher l’objet cercle suivant quand tu le veux visible ou non (début de la scène, ou suivant un événement précis plus tard après le lancement).

EDIT : la solution de Kamigeek est encore plus simple…

Merci à vous deux pour vos réponses, KamiGeek malheureusement ta technique ne peut marcher pour mon cas car l’objet plateforme est amené à tourner sur lui même lorsque que l’on clique sur les flèches et avec cette technique c’est tout l’objet qui va tourner mais merci en tout cas.

Merci Kink ça marche nikel :slight_smile: seul petit bémol maintenant mes objets tournent tous en même temps mais je devrais trouver la solution.

J’évite l’association d’objets et ça m’arrange j’y pige que dale ! :smiley:

Je devrais présenter mon projet prochainement je suis plutôt content car pour une fois je suis presque persuadé de le terminer vu l’avancement .

Encore merci

Cool, content que ma solution fonctionne, mais celle de kamigeek marche aussi non ? Un rond/cercle unforme monochrome qui tourne sur lui même, normalement on ne le voit pas tourner ? :confused:

Pour ton problème de n’en faire tourner qu’un je passerais pas des variables d’objet, j’en reviens à mon histoire d’“id” unique par objet. Imagine que ton objet Plateforme a une variable “id” (0 par défaut), tu place des “occurrences” (ou des instances au choix) de ton objet sur la scène, dans les propriétés de chacune de ces occurrences, tu va éditer la variable “id”, et ainsi la plateforme 1 aura l’id 1, la plateforme 2 l’id 2, etc.

L’idée ensuite, via une condition, c’est dire “faire tourner l’objet plateforme” "seulement si la variable id de l’objet plateforme est égale à la variable id de l’objet plateforme cliqué.

Idem désolé si je ne détail pas plus, mais je pense si tu manipule déjà un peu les variables que tu comprendras mon explication vu que tu t’es bien approprié ce que j’avais expliqué auparavant. Tiens nous au courant !

Oui mais je veut que ce soit la plateforme ui ne bouge pas et dans ce cas la les 2 vont bouger ? Pis si je change d’animation … ah mince je comprend plus le mieux c’est que j’essaye :smiley: .

Oui pour en faire tourner qu’un seul jmet une condition " si l’objet cercle est en collision avec plateforme" c’est un peu à l’arrache mais ça marche après j’espère que ce n’est pas plus lourd.

Mais j’ai bien compris ton explication et je t’en remercie !

EDIT: occurrences" (ou des instances au choix) de ton objet sur la scène " Tu veut dire quoi je comprend pas la par contre désolé :slight_smile:

On est dans l’informatique quand je dis ça…

https://fr.wikipedia.org/wiki/Instance_%28programmation%29

Ton objet dans la liste d’objet sur la droite est un “modèle” d’objet, si tu prends cet objet pour le glisser sur la scène, tu réalise une “instanciation” de ce modèle d’objet : l’instance créée hérite des propriétés du modèle, mais peut avoir ses propres propriétés.

Dans ton cas, ce que je suggérais, c’était ton objet “modèle” avec une variable d’objet “nommée” id, laissée par défaut à 0, pour la première instance créée sur la scène, tu modifies les propriétés et la valeur de variable d’objet pour lui donner la valeur 1, puis la valeur 2 pour la 2eme instance, etc.
Ainsi tu pourras identifier dans tes conditions d’événements les “occurence”/“instance” par cette variable d’objet “id”.

Bon en gros exemple d’evenement mais qui ne veut rien dire, juste pour illustrer :
Si platforme est en collision avec cercle ET si la variable id de l’objet plateforme est égale à la valeur id de l’objet cercle, ALORS faire tourner plateforme.

Bon j’avais prévenu on s’écarte de ce que tu fais concrement (car tu n’as sans doute pas besoin d’aller aussi loin, et de surcroit mon exemple ferait tourner toutes les plateformes), mais je tenais à te faire entrevoir la possibilité de prendre ça en compte pour concevoir des interactions sur la scène.

Ok merci pour ton explication Kink ! :slight_smile:

En effet je vois ce que tu veut dire, bon pour le moment mon soucis de base est résolu je vais en rencontrer sans doute d’autres :smiley: .

Encore merci à vous deux.