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

Partagez | 
 

 [résolu]Utiliser une region pour changer de room : possible ?

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
XZS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 66

Age : 35

Localisation : A porté de fusil de Paris

Date d'inscription : 24/04/2013


MessageSujet: [résolu]Utiliser une region pour changer de room : possible ?   Jeu 9 Mai 2013 - 18:27

Salut,

j'ai une interface de jeu en 2-clics, maintenant :
clic gauche : se déplacer/interagir/utiliser objet inventaire.
clid droit : dé-sélectionner l'objet d'inventaire en cours d'utilisation.

Jusqu'ici, j'utilisais des hotspots pour faire des transitions d'une room vers une autre.
Le soucis c'est qu'avec l'interface de jeu que j'ai, je ne peux pas me déplacer sur un hotspot en cliquant dessus.

Je crois bien que je pourrai contourner le problème en ajoutant au hotspot une fonction du genre "quand je clique dessus, le perso se déplace dessus (histoire de faire plus vrai) et ensuite on active le changement de room", mais j'trouve ça un peu pénible de devoir chercher les coordonnées X/Y à chaque fois.

Du coup, je me demande si y'a moyen d'utiliser les "regions", pour remplacer les hotspots ?
Dans mes tests, c'est foireux, quand j'indique dans les conditions "walk onto region" ou "while standing on region" qu'on change de room,
il se passe rien (enfin le joueur bouge un peu puis revient immédiatement à l'endroit juste avant).

Si je suis obligé d'utiliser un hotspot (y'a bien les edges, m'enfin...), pour changer de room, j'imagine que y'a une commande un peu technique pour que AGS récupère automatiquement les coordonnées X/Y du hotspot, pour déplacer ensuite automatiquement le joueur dessus, avant d'enclencher le changement de room ? Après, si je peux faire au plus simple, ça m'arrange grand sourire

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.youtube.com/LBQ3TS
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue


Nombre de messages : 5376

Age : 38

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: [résolu]Utiliser une region pour changer de room : possible ?   Jeu 9 Mai 2013 - 20:37

Tu peux utiliser le "walk onto region" mais fais-le arriver dans la pièce suivant hors d'une region, sinon AGS considèrera qu'il entre à nouveau dans la région et donc le déplacera à nouveau dans la room précédente, et ce sans fin ^^

_________________
Mon profil Facebook!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2430

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Utiliser une region pour changer de room : possible ?   Jeu 9 Mai 2013 - 20:38

XZS a écrit:
Dans mes tests, c'est foireux, quand j'indique dans les conditions "walk onto region" ou "while standing on region" qu'on change de room,
il se passe rien (enfin le joueur bouge un peu puis revient immédiatement à l'endroit juste avant).
C'est étrange parce que l'utilisation la plus répandue des régions est certainement celle que tu décris : placer une fonction ChangeRoom dans l'événement "Walk onto".
Il se passe quoi exactement, est-ce que le joueur se déplace jusqu'à la région en question ?

XZS a écrit:
j'imagine que y'a une commande un peu technique pour que AGS récupère automatiquement les coordonnées X/Y du hotspot
Non, justement clin d\\\\'oeil

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
XZS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 66

Age : 35

Localisation : A porté de fusil de Paris

Date d'inscription : 24/04/2013


MessageSujet: Re: [résolu]Utiliser une region pour changer de room : possible ?   Jeu 9 Mai 2013 - 21:08

Kitai a écrit:
Il se passe quoi exactement, est-ce que le joueur se déplace jusqu'à la région en question ?
Oui, il marche dessus, il change de couleur (parce que j'ai laissé activé l'effet de la région, mais c'est temporaire), se fige genre une demie seconde, puis retourne à ce que j'imagine être la position X/Y, dans la Room01, où renvois la région de changement de room de la room02 (comment ça, c'est pas claire ?) grand sourire

Citation :
Non
Ah, ça m'étonne ! Enfin, vu que le développement d'AGS à l'air d'avoir repris un bon rythme, peut-être que ça va venir...

Je fais mon bourrin, mais dans le doute, voici le script complet de la room01 (avec la region qui devrait envoyer le joueur vers la Room02)
(Merci de ne pas relever les incohérences et autres "mais c'est quoi cette logique foireuse ?", parce que c'est un peu encore le chantier, coté organisation, moi et le script) clin d\\\\'oeil

Code:

// room script file

function room_Load()
{
  aBeachAmb.Play(eAudioPriorityNormal, eRepeat); //juste l'ambiance sonore de fond.
}

function room_AfterFadeIn()
{
oFlies.SetView(3); //Une animation de mouches, près d'une lampe.
oFlies.Animate(0, 1, eRepeat, eNoBlock, eForwards);
}

function room_FirstLoad()
{
 
region[1].Enabled = false; //La fameuse région problématique,
                            //par défaut elle est désactivée, et ne s'activera qu'une fois la porte ouvert avec la clé.
  StartCutscene(eSkipAnyKeyOrMouseClick); //on commence une cutscene skippable
  cKeum.LockView(KEUM01STANDUP); //animation unique du perso, pour l'intro.
      cKeum.x = 318; //Pour rattraper le leger décalage sur le coté de l'animation unique :/ (oui, y'a surement plus efficace...).
  cKeum.Animate(0, 105, eOnce, eBlock);
  //Wait(50);
  cKeum.LockView(KEUM01STANDUP);
  cKeum.Animate(1, 1, eOnce, eBlock);
  cKeum.UnlockView(); // on reviens à la vue Normale
    cKeum.x = 308;
  cKeum.Say("Mais... Qu'est-ce que je fous là ?");
  cKeum.Say("Elle est où la putain d'logique ?!");
  cKeum.x = 293;
    cKeum.LockView(KEUM01ETONNE);
      cKeum.Animate(0, 2, eOnce, eBlock);
  cKeum.x = 308;
    cKeum.Say("Et pourquoi que j'suis en p'tit slip ?");
      cKeum.x = 293;
  player.FaceObject(oR01_DoorClose);
    cKeum.UnlockView();
          cKeum.x = 308;
 EndCutscene(); //fin de la cinématique d'intro
}


//HOTSPOTS

function hHotspotBenne_Interact()
{
  cKeum.Walk(390, 440, eBlock, eWalkableAreas);
  cKeum.Say("Berk, c'est tout crade, j'touche pas à ça moi !");
}

function hHotspotGraf_Interact()
{
  cKeum.Walk(700, 490, eBlock, eWalkableAreas);
  cKeum.Say("'XZS'... Ca sonne un peu comme 'Exodus'.");
}

//CHANGE ROOMS


function room_LeaveRight()
{
cKeum.ChangeRoom(3, 240, 510);
}


//UTILISE CLE POUR OUVRIR PORTE ROOM02
function oR01_DoorClose_UseInv()
{
  if (cKeum.ActiveInventory == iKey) {
    cKeum.Walk(1000, 460, eBlock, eWalkableAreas);
    oR01_DoorClose.Visible = false;
    oR01_DoorOpen.Visible = true;
        region[1].Enabled = true; //quand la porte est ouverte, la région s'active. Et c'est là où ça coince...
}}


//function hHotspotPoubel_Interact()
//(...) série de déscriptions pour des hotspots, mais là on s'en fous. :)
http://cKeum.Say("La porte est fermée, grâce un ingénieux systeme de type \"clé/serrure\".");
}


function region1_Standing()
{
  cKeum.ChangeRoom(2, 850, 560); //Je crois que la region utilise les coords X/Y
                            //de la region (de sortie) de la room03 (la room où on est sensé aller donc).
}


EDIT : faut que je check par acquis de conscience, mais si ça s'trouve, la région de la room01 envoi bien dans la room02, mais quand on apparait dans la room02, on apparait direct sur la region de sortie qui envoi vers la room01 (mais franchement, je pense pas).

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.youtube.com/LBQ3TS
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2430

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Utiliser une region pour changer de room : possible ?   Jeu 9 Mai 2013 - 21:49

Ton problème peut très probablement venir d'une accolade fermante } que tu n'as pas mise en commentaire, à la ligne 81 du code ci-haut.

XZS a écrit:
Ah, ça m'étonne ! Enfin, vu que le développement d'AGS à l'air d'avoir repris un bon rythme, peut-être que ça va venir...
En fait le problème est que les zones dans AGS (zones de déplacement, zones interactives, régions, ...) sont des objets de forme totalement arbitraire, et même possiblement discontinus : elles ne correspondent pas à des rectangles et n'ont pas de centre. Quelles coordonnées leur associerais-tu donc ? Tu pourrais dire "Ok, mais on va prendre le pixel le plus à gauche, le pixel le plus à droite, le pixel le plus haut et le pixel le plus droit". Mais comme je l'ai dit, on n'a pas affaire à des rectangles, donc ça va pas nous avancer à grand chose. Et il est possible que même le centre de ce rectangle virtuel (celui formé par les points extrêmes) ne soit pas dans la zone en question (la zone peut par exemple décrire un anneau plutôt qu'un disque).
Bref, tout ça pour dire qu'à mon avis ça n'a pas beaucoup de sens de parler des coordonnées des zones, et je trouve ça surprenant qu'on en parle pour autant de façon si intuitive (moi y compris hein, je me suis fait les remarques que je viens d'écrire uniquement après que Billbis s'est posé la même question).

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
XZS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 66

Age : 35

Localisation : A porté de fusil de Paris

Date d'inscription : 24/04/2013


MessageSujet: Re: [résolu]Utiliser une region pour changer de room : possible ?   Jeu 9 Mai 2013 - 22:06

Kitai a écrit:
Ton problème peut très probablement venir d'une accolade fermante
Non non, j'aurai dû préciser, là c'est une version "light" du code, pour mettre sur le forum, uniquement.
Donc, y'a quelques trucs de virés (les hotspots, ...).
Quand j’exécute le code complet, je n'ai pas de soucis de compilation.

Citation :
je trouve ça surprenant qu'on en parle pour autant de façon si intuitive
Pas faux, enfin on se l'imagine tous comme une forme dont on peut deviner le centre. Mais effectivement, dans le cas d'un cercle, ça serait inutile.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.youtube.com/LBQ3TS
XZS
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 66

Age : 35

Localisation : A porté de fusil de Paris

Date d'inscription : 24/04/2013


MessageSujet: Re: [résolu]Utiliser une region pour changer de room : possible ?   Jeu 9 Mai 2013 - 22:21

Bon ok, je reconnais officiellement et publiquement que j'suis un peu con.
J'ai checké et, c'était bien ça : ma "region" de la room01 envoyait directement sur les coordonnées X/Y de la "region" de la room02... qui donc me renvoyait illico vers la room01.

Mon code est donc bon, juste les valeurs X/Y de changeroom à modifier, pour qu'ils n'envoient pas directement sur la "region" de la room.

AAAAAAAAAHHHH ! Vraiment... Mea culpa. grand sourire

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.youtube.com/LBQ3TS
Contenu sponsorisé




MessageSujet: Re: [résolu]Utiliser une region pour changer de room : possible ?   Aujourd'hui à 19:53

Revenir en haut Aller en bas
 
[résolu]Utiliser une region pour changer de room : possible ?
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [RESOLUE] Utiliser un interrupteur pour inverser le sens de déplacement d'un piston
» Script pour changer le status Skype avec Mirror
» [RESOLUE] Utiliser un treuil pour faire monter Sackboy
» Mod pour changer les routes.
» Un crayon peut changer une vie.

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: