Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -28%
-28% Machine à café avec broyeur ...
Voir le deal
229.99 €

 

 [Résolu] "Fixer" la view d'un objet qui en a plusieurs.

Aller en bas 
3 participants
AuteurMessage
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


[Résolu] "Fixer" la view d'un objet qui en a plusieurs. Empty
MessageSujet: [Résolu] "Fixer" la view d'un objet qui en a plusieurs.   [Résolu] "Fixer" la view d'un objet qui en a plusieurs. EmptyDim 12 Juin 2022 - 5:20

Salut à tous !
Je reviens encore sur le forum car je n'ai pas trouvé la solution ailleurs. pleure

J'ai implanté un objet que nous appellerons "machine", qui possède un écran qui affiche des numéros, et cela selon ce que mon personnage choisit d'afficher...

Pour cela j'ai créé plusieurs vues de cet objet-là, avec à chaque fois un chiffre différent, donc, et j'utilise oMachine.SetView (mes paramètres);
pour afficher chacune de ces vues dans le jeu.

Jusque là aucun souci: ça fonctionne bien, mon personnage fait subir à l'objet les changements de chiffres et c'est cool.

Mais problème: lorsqu'il sort de la pièce AGS ne semble pas intégrer ça de manière "définitive"... car quand il revient dans la room (après être passé par d'autres) le chiffre de base (celui de function room_Load()) s'affiche au lieu de garder le dernier choisi...

Je sais pas si je me fais très bien comprendre, mais je m'y perds un peu : Je ne comprends pas la subtilité de "où placer ça dans le script" et je suis sûr que mon problème, déjà, vient de là.
Car entre room_Load() et room_AfterFadeIn() ou encore repeatedly_execute_always() et rep_ex et consorts j'ai eu beau lire le manuel plusieurs fois... je comprends pas des masses confus

Voilà donc, j'ai grandement besoin de vos lumières...
En vous remerçiant !

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche


Dernière édition par Jorkz le Lun 13 Juin 2022 - 5:15, édité 1 fois
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


[Résolu] "Fixer" la view d'un objet qui en a plusieurs. Empty
MessageSujet: Re: [Résolu] "Fixer" la view d'un objet qui en a plusieurs.   [Résolu] "Fixer" la view d'un objet qui en a plusieurs. EmptyDim 12 Juin 2022 - 6:57

C'est parce que tu as mis le chiffre de base dans Room_load justement, du coup il va charger le numéro à chaque fois que la room se charge sourire Il vaut mieux que tu fixes le premier numéro directement dans la variable (dans Global Variable), ainsi quand la variable sera modifiée, elle restera sur la dernière valeur.
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


[Résolu] "Fixer" la view d'un objet qui en a plusieurs. Empty
MessageSujet: Re: [Résolu] "Fixer" la view d'un objet qui en a plusieurs.   [Résolu] "Fixer" la view d'un objet qui en a plusieurs. EmptyDim 12 Juin 2022 - 9:41

Merci beaucoup pour cette réponse si rapide, mais en fait je me suis mal expliqué... confus

La machine doit afficher le chiffre choisi par mon joueur, pas le dernier de la variable.

Par exemple entre 1 et 15 il choisit le 7. Ou le 2. Ou le 4... etc... Peu importe mais je souhaite que celui-ci reste fixe ensuite.

Autant je sais m'en sortir avec une variable booléenne, que je glalère pas mal avec celles de type "int", ai,si lorsque tu me dis de créer la variable, je suis là aussi un peu perdu.

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Clique
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Clique


Nombre de messages : 106

Date d'inscription : 11/05/2022


[Résolu] "Fixer" la view d'un objet qui en a plusieurs. Empty
MessageSujet: Re: [Résolu] "Fixer" la view d'un objet qui en a plusieurs.   [Résolu] "Fixer" la view d'un objet qui en a plusieurs. EmptyDim 12 Juin 2022 - 11:35

C'est la bonne solution.
Il faut que tu créé une variable globale qui servira à définir quel est le n° de l'écran.

Global ça signifie que la variable se trouvera depuis fil principal du programme.
Room est un fil secondaire, c'est pour ça que quand tu passe d'une salle à l'autre elle est réinitialisée.

Pour que tu puisses avoir des changements persistants dans une Room, ou même des conséquences liées d'une Room à une autre.

Exemple : je coupe le disjoncteur, la lumière s'éteint à tous les étages
Tu créé une variable globale "courant" et tu la fixe à "true" (disons qu'au départ du jeu le courant est déjà mis)

Dans chacune des salles, tu prévois dans "room_Load()" comment gérer la situation selon l'état du courant (charger un visuel avec une lampe allumée, sinon un avec la lampe éteinte), et tu conditionne ça en contrôlant la valeur de cette variable globale.

Dans la salle où se trouve le disjoncteur, suite à l'action de couper/brancher le courant :
1) tu changes la valeur de cette variable globale
2) tu réinitialise la salle "room_Load()"

Je ne connais pas la syntaxe il ça ne semble pas trop compliqué :
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php?id=les_variables_globales&s[]=global

Dans le principe, pour créer une variable globale, tu dois la déclarer à l'endroit prévu pour. (Le panneau Global Variables)

Oublie que Bool ou Int fasse une grosse différence. C'est pareil sauf que ce que tu contrôlera est un nombre (entier)

Tu lui donne une valeur de départ (le n° de l'écran, avant que le joueur n'ait interagi avec)
Si c'est un cas particulier, par exemple : tant que le joueur n'a pas interagi au moins aune fois avec l'écran. Tu lui met 0 (zéro)

Le zéro fera office de "false", et tous les autres nombres "true" tout en permettant une déclinaison de possibilités (1, 2, 3, 4, 5, 6, 7...)

Ensuite dans room_load(), (initialisation de la salle)
Tu contrôles la valeur de cette variable (machineState)

Le mieux serait de créer une fonction exprès

Code:
function machineUpdate(){
  if (machineState == 1) {
      // code pour afficher le visuel 1
  }
  else if (machineState == 2) {
      // code pour afficher le visuel 2
  }
  else {
      // code pour afficher le visuel éteint
  }
}

Et dans ta fonction room_Load() tu lances cette fonction machineUpdate()
Ensuite, dans le script où tu gères le choix du joueur, tu assignes son choix (valeur de 1 à 7) à la variable globale, puis exécute la fonction machineUpdate() pour mettre à jour l'affichage, sans recharger la Room.
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


[Résolu] "Fixer" la view d'un objet qui en a plusieurs. Empty
MessageSujet: Re: [Résolu] "Fixer" la view d'un objet qui en a plusieurs.   [Résolu] "Fixer" la view d'un objet qui en a plusieurs. EmptyLun 13 Juin 2022 - 5:15

Ahah merci encore !
J'y suis arrivé !!

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Contenu sponsorisé





[Résolu] "Fixer" la view d'un objet qui en a plusieurs. Empty
MessageSujet: Re: [Résolu] "Fixer" la view d'un objet qui en a plusieurs.   [Résolu] "Fixer" la view d'un objet qui en a plusieurs. Empty

Revenir en haut Aller en bas
 
[Résolu] "Fixer" la view d'un objet qui en a plusieurs.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Importation fichiers Speech, [résolu]idle View coupée, résolution bords
» [résolu]Problème d'animation d'une view
» [résolu] Jeu à plusieurs personnages : quid ? :)
» [résolu] Plusieurs views speech pour 1 même perso, possible?
» [RESOLU] Plusieurs Walk-behinds area + Description objets

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: