Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-14%
Le deal à ne pas rater :
Lave-linge hublot HOOVER HWP 10 kg (Induction, 1600 trs/min, Classe ...
299.99 € 349.99 €
Voir le deal

 

 [résolu] Créer un ascenseur ! :)

Aller en bas 
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


[résolu] Créer un ascenseur ! :) Empty
MessageSujet: [résolu] Créer un ascenseur ! :)   [résolu] Créer un ascenseur ! :) EmptySam 1 Aoû 2015 - 19:15

Bonjour,

Avant tout, petite explication : mon "ascenseur" est découpé en 2 rooms. Une room sert de sélecteur d'étages (4 en tout), une autre est la cabine de l'ascenseur (une transition avant d'arriver dans une nouvelle pièce).

Dans ma cabine d'ascenseur j'ai voulu faire un système de défilement des numéros étages. Dans la room de sélection des étages, j'ai utilisé une variable globale ("Etage") pour définir ensuite jusqu'où les étages doivent défiler dans la cabine, avant de s'arrêter au bon étage.

J'avais réfléchis à un code, mais je l'ai jeté car déjà il ne marchait pas bien et surtout je me suis rendu compte que je ne m'y prenez pas bien.

J'aurai donc besoin de conseil sur ce coup, car mine de rien il y a plusieurs paramètre à prendre en compte, comme l'étage d'où on part par rapport à celui où on veut aller, et faire défiler dans le bon ordre les numéros des étages (qui sont des sprites au passage).

Merci d'avance sourire

EDIT :
J'essaie la piste suivante : j'ai dissocié le compteur des numéros des étages dans la cabine d'ascenseur, et le fait d'aller à tel étage avec changeroom.

J'ai déclaré 3 variables : Numero (déclarée dans la room) / Etage (variable globale) / Niveau (variable globale).
Etage correspond à la variable déclarée quand je clic sur le sélecteur d'étages.
Niveau est déclarée quand j'arrive à un certain étage (dans la room).

Voici ce que j'ai en tête (brève ébauche, pour vous donner un ordre d'idée de où je veux aller... et si ça vous semble être une direction correcte) sourire

[dans la room de la cabine d'ascenseur]
Code:
function room_AfterFadeIn()
{
Numero = Etage - Niveau;
}

function room_RepExec()
{
if (Numero < Etage)
{
  if (Numero == 1){
    oNumeroEtages.Graphic += 1;
  }
}


Dernière édition par chefgeorges le Lun 3 Aoû 2015 - 9:34, édité 1 fois
Revenir en haut Aller en bas
http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


[résolu] Créer un ascenseur ! :) Empty
MessageSujet: Re: [résolu] Créer un ascenseur ! :)   [résolu] Créer un ascenseur ! :) EmptyDim 2 Aoû 2015 - 12:05

J'ai peut-être la solution. Voici mon code :

Code:
function room_AfterFadeIn()
{
Numero = Etage - Niveau;
}
function room_RepExec()
{
if (Numero < Etage)
{
  if ((Numero == 1)&&(IsTimerExpired(1))){ //Avancer d'un étage
    oNumeroEtages.Graphic += 1;
  }
  else if ((Numero == 2)&&(IsTimerExpired(1))){  //Avancer de 2 étages
    SetTimer(2, 200);
    oNumeroEtages.Graphic += 1;
  }
  else if ((Numero == 2)&&(IsTimerExpired(2))){
    oNumeroEtages.Graphic += 1;
  }
  else if ((Numero == 3)&&(IsTimerExpired(1))){  //Avancer de 3 étages
    SetTimer(2, 200);
    oNumeroEtages.Graphic += 1;
  }
  else if ((Numero == 3)&&(IsTimerExpired(2))){
    SetTimer(3, 200);
    oNumeroEtages.Graphic += 1;
  }
  else if ((Numero == 3)&&(IsTimerExpired(3))){
    oNumeroEtages.Graphic += 1;
  }
}
if (Numero > Etage)
{
  if ((Numero == -1)&&(IsTimerExpired(1))){ //Descendre d'un étage
    oNumeroEtages.Graphic -= 1;
  }
  else if ((Numero == -2)&&(IsTimerExpired(1))){  //Descendre de 2 étages
    SetTimer(2, 200);
    oNumeroEtages.Graphic -= 1;
  }
  else if ((Numero == -2)&&(IsTimerExpired(2))){
    oNumeroEtages.Graphic -= 1;
  }
  else if ((Numero == -3)&&(IsTimerExpired(1))){  //Descendre de 3 étages
    SetTimer(2, 200);
    oNumeroEtages.Graphic -= 1;
  }
  else if ((Numero == -3)&&(IsTimerExpired(2))){
    SetTimer(3, 200);
    oNumeroEtages.Graphic -= 1;
  }
  else if ((Numero == -3)&&(IsTimerExpired(3))){
    oNumeroEtages.Graphic -= 1;
  }
}
}

J'ai fait les tests en partant de l'étage 1 vers les étages 2 et 3, et ça fonctionnait. Je vais testerai le reste ce soir... sourire
Revenir en haut Aller en bas
http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


[résolu] Créer un ascenseur ! :) Empty
MessageSujet: Re: [résolu] Créer un ascenseur ! :)   [résolu] Créer un ascenseur ! :) EmptyDim 2 Aoû 2015 - 19:06

La partie "descendante" du code ne fonctionne pas. Je crois que j'ai été trop naïf avec mes valeurs négatives ^^

Je cherche dans le Wiki, mais il y a surement une façon d'écrire une valeur négative (enfin, je présume)...


EDIT:
Non, c'était pas ça. Je sais pas pourquoi mais "(Numero > Etage)" me semblait logique... et en fait pas du tout, lol. En effet, et sauf erreur, la variable Numero sera toujours inférieur à la variable Etage.
Revenir en haut Aller en bas
http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 502

Date d'inscription : 01/02/2008


[résolu] Créer un ascenseur ! :) Empty
MessageSujet: Re: [résolu] Créer un ascenseur ! :)   [résolu] Créer un ascenseur ! :) EmptyLun 3 Aoû 2015 - 9:38

Ça fonctionne !
[résolu] Créer un ascenseur ! :) 47118980

Bon, ce topic c'est un peu celui de l'autosatisfaction (lol) mais ça pourra servir à d'autres sourire
Il y a sans doute moyen de l'optimiser (ne vous gênez pas !), mais dans l'état il fonctionne très bien.
Revenir en haut Aller en bas
http://instagram.com/ichefgeorges
Contenu sponsorisé





[résolu] Créer un ascenseur ! :) Empty
MessageSujet: Re: [résolu] Créer un ascenseur ! :)   [résolu] Créer un ascenseur ! :) Empty

Revenir en haut Aller en bas
 
[résolu] Créer un ascenseur ! :)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu ] Créer un dialogue non bloquant
» [résolu]Besoin d'aide pour créer une clè
» Comment créer un bloc-note??? [Résolu]
» [résolu] Aide pour créer un petit puzzle par substitution d'images.
» [résolu]Comment importer un dessin papier/une photo dans AGS?resolu

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: