Problème détecté Groupe d'objet et Evènements

Salut,

Alors je signale ici ma trouvaille…
Est constaté problème avec Groupe d’objet et Évènement…

Quant par exemple ont à X objet dans le Groupe d’objet et que ont à créer les Évènements
en fonction de ceux-ci, si ont veux rajouter d’autre objets à ce Groupe d’objet
par la suite, alors là il aura des problèmes car il ne serrons
tous simplement pas prix en compte !

Pour qu’il soit pris en compte, il faudra mettre à jour un Évènement qui contient le Groupe comme Condition ou
Action, pas besoin de tous refaire (Ouf), faut juste remettre à jour le Groupe dans un Évènement quelconque.

Pour cella il suffis simplement de redire de prendre le Groupe d’objet en question.
Voilà en espèrent avoir été assez clair.

Il serais bien je pense que quand ont modifie le Groupe d’objet, que GD actualise tous ça automatiquement.

Attention aussi à un autres problème détecté…

Par exemple vous voulez que quand le curseur de la souris passe sur un objet
du Groupe d’objet, que celui-ci change, vous allez avoir une belle surprise !

Ceci ne fonctionnera pas et c’est normale je pense car GD passe en revue tous les objet du Groupe d’objet !

Donc si vous voulez que le curseur de la souris change quand celui-ci est sur un des objet du
Groupe d’objet et que quand le curseur de la souris change quand celui-ci
n’est plus sur un des objet du Groupe d’objet, et bien attention !

Exemple:
Sans titre.png

Ici Boutons est un groupe qui contient mes objet Boutons (Bouton_1, Bouton_2, Bouton_3, etc)
Si vous faite ainsi, bha vous allez pas comprendre comme moi au début !

Mais pourquoi ça marche pas :open_mouth:
Alors vous chercher pendent un moment…

Au bout d’un moment peut être, vous comprendre que en faite ça fonctionne correctement (Du moins je pense)
Car GD parcours la liste du Groupe d’objet “Boutons”, dans se groupe ya par exemple 5 Objets…

Et GD ne va prendre en compte QUE l’objet actuellement énuméré !
Et oui, seule cet objet-ci est pris en compte actuellement, tous se réfère à lui l’or de cette énumération !

Si ya par exemple 10 Objet du Groupe d’objet sur la scène, et que le curseur de la souris se trouve sur l’un d’entre eux
alors si l’énumération arrive à ce même objet, alors ok, le curseur de la souris va changer mais dès qu’il va passé à l’objet
du Groupe d’objet suivent, là, le curseur va encore changé car le curseur de la souris n’est pas sur cet objet-ci !

Donc si votre curseur de souris se trouve sur un des objet du groupe mais qu’il y à (A mon avis) plusieurs objets d’un
même objet du Groupe d’objet et / ou plusieurs objet différent du Groupe d’objet sur la scène, les actions vont se répété
à la chaîne sans cesse, passant de l’animation de curseur de 0 et 1 sans cesse…

Et oui, le curseur n’est pas sur tous les objet du Groupe d’objet de la scène hein, c’est pas HyperMan non plus hein :stuck_out_tongue:
Donc oui votre curseur de souris serra bien sur l’un des objet du Groupe d’objet mais pas sur les autres !

Donc ça fonctionnera pas comme vous voudrez !!!
Comment faire alors ?

Bonne question, j’ai pas encore trouvé la réponse ! :arrow_right:

Bien vu ! GDevelop oublie de relancer la compilation quand on glisse/ajoute un objet dans un groupe alors qu’il le fait quand on ajoute un objet ou un groupe à la scène (et évidemment quand on modifie une événement).

Comme tu le dis toi-même, ce n’est pas un bug, mais le comportement normal de GDevelop. Les deux conditions sont bien vraies : le curseur est sur un objet du groupe et il n’est pas sur d’autres.
Néanmoins, j’ai la solution à ton problème : au lieu d’inverser la condition, utilise la condition “Non” (de la catégorie avancée). Elle se contente de tester les conditions à l’intérieur (en "mode non inversé) puis de juste “inverser” le résultat de toutes les conditions. Dans ton cas, “Curseur est sur objet” sera vrai si un objet ou + est survolé par la souris. Donc, “Non” avec comme sous-condition “Curseur est sur objet” sera faux.

Super merci :smiley:
Sa me fais tellement plaisir quand je suis utile :smiley:

Bon, se serra corriger par la suite donc, cool :slight_smile:
Merci !

Nota: “GDevelop oublie de relancer la compilation”
Victor, tu n’est pas du tous modeste la mon cher :frowning:

GD oublie, mais bien sur :open_mouth:
C’est vraie, GD est intelligent et il peut donc oublier :mrgreen:

C’est tellement plus simple d’accuser un programme au lieu de se dire que c’est nous le problème :laughing:
Ta raison, vilain GD :stuck_out_tongue:

Mdr tu m’as bien fais rire sur se coup là, GD oublie, MDR :laughing:

Bon ont va remplacer GD par 4ian plutôt mais chuuuuuut lui dit pas hein surtout ou il va me passer à la moulinette
comme la fois ou j’ai dis que GD savais pas faire la café, tu verrais l’avoiné que j’me suis pris par 4ian :cry:

Sinon excuse moi mais j’ai pas compris se que tu voulais me dire pour le “non”…
Sa ?:


Moi ça fonctionne pas.
Un exemple stp ?

AdvancedNot.png
(Ne surtout pas inverser la condition, le Not s’en charge, mais de façon “bête”, sans regarder les objets. Il regarde juste le résultat de la condition qui se trouve dedans et prend faux si elle est vraie et vrai si elle est fausse).

Salut,

Ok !, excellent, ça marche :smiley:

Victor tu peut stp me faire voir en code Basic simple se que veux dire ton propos
car en programmation pure je comprendrais mieux je pense…

Je connais pas j’ai l’impression ça, moi je connais → If Not…

Je comprends pas ce que tu veux dire. En tout cas, avec “Not” (ou Non logique en français). GDevelop se contente de mettre ! devant les conditions en C++ (ce qui veut dire “not” en C++) alors qu’il regarde si les objets respectent bien la condition non inversée. Alors qu’en inversant les conditions, GDevelop parcourt les objets en testant s’il ne respectent pas le condition.

Conseil : n’essaie pas d’utiliser Not, cela ne correspond pas souvent à ce qu’un utilisateur de GDevelop veut faire. C’est pour des cas un peu spéciaux comme ici.

Ok merci :slight_smile:

Sinon, j’ai corrigé le bug de non actualisation. Juste 2 lignes qui manquaient à deux endroits différents. Merci de l’avoir signalé. :slight_smile: