Mettre en évidence les objets dans l'éditeur du même nom...

J’ignore si le point d’amélioration ci-dessous a déjà été abordé (et solutionné) dans le forum mais je me risque.

Je connais très peu GD, aussi je me permets d’en parler aujourd’hui avec un certain recul (que je n’aurais sans doute pas si j’avais l’habitude d’utiliser cet outil) Au chapitre des améliorations assez simples (je le pense en tout cas) à mettre en oeuvre dans GD, il faut concentrer les efforts sur l’ergonomie. J’ai pu lire tout à l’heure un sujet parlant de raccourcis, etc. Sauf erreur de ma part, il ne me semble pas que GD mette en évidence un objet (graphiquement parlant) dans l’éditeur d’objets lorsque le créateur de jeu clique sur le nom d’un des objets de la liste (et inversement)
Dans le cas où je serai dans le vrai et si cela était implémenté, cela améliorerait beaucoup je pense le repérage d’un objet dans la scène, surtout en présence de nombreux objets dans la liste.
Autre chose qui pourrait être intéressante sans toutefois trop alourdir le travail de maintenance de GD pour 4ian :
il ne me semble pas avoir vu la possibilité de plier/déplier notamment les actions correspondant à une (plusieurs) conditions remplie(s).

En tout cas, merci pour votre réponse.

A+

Salut Xierra54 et bienvenu sur le forum,

J’ai du mal à comprendre ce que tu veux dire : si on clique sur un objet placé sur la scène, qu’il se sélectionne dans l’éditeur d’objet (à droite de GD) ? C’est ça, non ?

On peut déjà replier/déplier les sous-événements. C’est déjà suffisant (il faut utiliser la petite flèche à côté es événements qui contiennent des sous-événements)

J’ai du mal à comprendre ce que tu veux dire : si on clique sur un objet placé sur la scène, qu’il se sélectionne dans l’éditeur d’objet (à droite de GD) ? C’est ça, non ? ==> oui tout à fait.

On peut déjà replier/déplier les sous-événements. C’est déjà suffisant (il faut utiliser la petite flèche à côté es événements qui contiennent des sous-événements)
[/quote]
==> ce serait mieux bien sûr si on pouvait replier/déplier totalement la lignes des conditions d’un coup car sur un gros projet, cela rendra plus lisible les évènements.

A+

Bonjour à tous,

Pas de réponses au sujet de mes propositions d’amélioration ?
Ce serait bien si 4rian se positionnait là-dessus car en utilisant encore aujourd’hui GD, je trouve assez pénible de ne pas pouvoir identifier les objets (leur nom ne s’affiche pas dans une bulle ni dans la liste de droite des objets)
Ce serait bien aussi de pouvoir lire l’ID d’1 objet en le survolant ou par 1 fonction que je n’ai pas trouvée.

Merci

A+

Concernant ce point :

J’ai un peu de mal à voir l’utilité ?..
Certes si on a beaucoup d’objets différents dans la liste, il y a le risque de si perdre, quoi que l’on peut les classer, mais de là à sélectionner dans l’éditeur d’objets dès qu’on sélectionne une instance de l’objet sur la scène…

Enfin, je ne dis pas que c’est inintéressant, ça mérite réflexion : Peut être peux tu développer sur l’utilité d’une telle fonction ?

Là aussi, je ne saisis pas bien l’utilité de pouvoir récupérer un “ID” d’un objet ? ( en sachant que justement, j’essaie au maximum de pas trop faire intervenir ce concept d’ID dans Game Develop )

Je pense que cela me serait utile mais s’il n’y a que moi qui en voit l’intérêt, faut laisser comme cela.
Dans d’autres outils, on a cette fonctionnalité (MF2, GM) et je trouvais cela bien pratique.

Pour moi, cela me paraît évident mais prenons le raisonnement à l’envers. Comment feriez-vous alors pour identifier 1 objet particulier pour lui faire des actions bien précises et différentes de ces clones ? (disons 1 envahisseur qui serait choisi au hasard pour attaquer le héros).
Où prendre 1 ennemi se trouvant quelque part entre le plus proche et le plus éloigné du héros, l’identifier et le faire agir différemment de ses collègues ?

Merci de vos réponses.

A+

Tu peux déjà le faire toi-même ( :smiley: ) grâce à des variables qui stockent cet ID, et à des conditions qui vérifient cette variable. Si un de ces objets a un ID de cette valeur, c’est lui qui sera utilisé pour les conditions/actions suivantes. Si tu veux, tu peux donner un ID différent à ces objets lors du lancement de la scène ou lors de leur création.

Ce que tu peux faire aussi, mais c’est un peu plus long, selon ce que tu envisages de faire ensuite, c’est créer plusieurs objets dans la liste qui sont en fait le même mais que tu peux gérer séparément.

Bien sûr je trouve la première possibilité bien plus risquée car en essayant de gérer tous ces IDs, je n’ai jamais le résultat attendu lorsque je veux faire quelque chose de plus complexe.

Mais ajouter cette fonctionnalité d’IDs compliquerait l’utilisation de Game Develop, qui à la base est réputé pour être un logiciel simple d’utilisation.

EDIT : Enfin moi je donne juste mon avis, après c’est à 4ian de voir s’il veut ou non mettre en place un système d’ID. Je dis juste que ça va complexifier Game Develop.

Je vois deux solutions ( Qui sont en gros celle de sototo mais un peu plus formalisées ) :

Avec des variables

Si il s’agit d’appliquer une simple action à un objet aléatoire, on peut faire:

Conditions : Prendre un objet “MonObjet” au hasard
Actions : Détruire “MonObjet” ( par exemple )

et l’actions sera uniquement lancée sur un “MonObjet” pris au hasard.

Si l’on souhaite conserver en mémoire cet objet, on peut lui affecter une variable “JeSuisLeBigBoss” qu’on met à 1. Ensuite, on peut traiter différement cet objet :

Conditions : La variable “JeSuisLeBigBoss” de MonObjet est = à 1
Actions : Créer “UnBouclier” à la position X/Y de MonObjet ( par exemple )

Cette action va créer un bouclier uniquement pour l’objet qui a la variable “JeSuisLeBigBoss” égale à 1.

Avec les groupes d’objets ( A préférer si possible )

Sinon, et c’est même d’ailleurs plus propre, on peut créer par exemple un groupe d’objets “Méchants”, et utiliser différents objets “PetitMechant”, “GrosMechant”, “MechantQuiAgitBizarrement”…
Ensuite dans les évènements, on créé des évènements standards qui s’appliquant au “Méchants”, plus des évènements qui vont s’appliquer seulement pour les “MechantQuiAgitBizarrement”.
C’est un autre moyen qui est d’ailleurs plus propre à mon sens, car la structure des méchants est ainsi bien visible.

Des deux solutions, la première est la plus flexible ( Il suffit de changer une variable pour changer le comportement ), la seconde va permettre des évènements plus simples à lire, plus “sûrs” mais moins flexible car on ne peut pas changer un objet de “classe” ( Ou alors, il faut détruire l’objet et en recréer un autre ).

Je pourrai toujours essayer d’ajouter une option.

Pour 4ian

Le souci est que dans l’exemple que je donnais pour le 1er cas, on ne choisit pas un objet au hasard mais satisfaisant 1 condition ou plusieurs conditions bien précises (qui peuvent être très différenciées au cours du 1 jeu : objet entre 2 objets, etc. Ensuite, il faut bien identifier (= pointer) l’objet en question pour lui appliquer seul des actions donc la foinction hasard ne conviendra pas. Il manque donc quelque chose dans GD comme une fonction par exemple pour IDentifier l’objet concerné.

La solution avec appartenance d’un objet à 1 groupe est séduisante au 1er abord mais, à moins que GD permette de changer le groupe d’un objet par la suite, ne conviendra pas si uniquement certains objets d’un groupes doivent faire certaines actions et pas les autres du groupe.

La solution de l’ID par GD ne complexifiera pas l’utilisation de GD pour l’utilisateur si GD fournit une manière simple de retourner l’ID d’un objet permettant de mettre le focus sur cet objet afin que l’on puisse appliquer des actions dessus.

A+

Dans ce cas, je pense que l’utilisation d’une variable reste quand même adaptée non ?

[code]Conditions : La position X de MonObjet est > à 40.
Actions : Faire =1 à la variable “JeSuisLElu” de MonObjet.

Conditions : La variable “JeSuisLElu” de MonObjet est = à 1
Actions : Actions qui vont ne concerner que l’objet en question[/code]

Si on a besoin de plus de flexibilité, on peut affecter une variable avec une valeur aléatoire, qui va servir d’ID. J’ai déjà mis ce système en place dans des jeux ( comme Eternity Under Fire ) pour gérer l’intelligence artificielle ( Bien que maintenant, l’extension “Association d’objets” permet de gérer ça de façon plus propre. )