Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

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

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: [résolu] Créer un ascenseur ! :)   Sam 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
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu] Créer un ascenseur ! :)   Dim 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
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu] Créer un ascenseur ! :)   Dim 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
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


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

Ça fonctionne !


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
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Contenu sponsorisé




MessageSujet: Re: [résolu] Créer un ascenseur ! :)   Aujourd'hui à 8:02

Revenir en haut Aller en bas
 
[résolu] Créer un ascenseur ! :)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu] Créer un ascenseur ! :)
» [RÉSOLU]Lapin capricieux n'aime pas orange
» Besoin d'un tutoriel[résolu]
» [Résolu] Le mystère de la borne d'arcade !!
» [Résolu] Problème d'accès à http://192.168.0.1

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: