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

Partagez | 
 

 [résolu]SetView et Animate

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


Nombre de messages : 79

Age : 60

Localisation : vendée

Date d'inscription : 19/04/2016


MessageSujet: [résolu]SetView et Animate   Sam 3 Sep 2016 - 18:48

Encore 2 questions en espérant ne bas abuser de vous.
1-Lorsque je met le script ci-dessous, cBrett change de room avant la fin de l'animation !!
2- je voudrais que iSimouche ne soit plus visible pendant l'animation, est-ce possible?


Code:
function room_AfterFadeIn()
{
  
if (cBrett.ActiveInventory == iSimouche) {
  
     Sel.SetView (1);
     Sel.Animate (0, 5, eOnce,  eNoBlock, eForwards);
    
    

{
  cBrett.ChangeRoom (42, 738, 265);
}
}
}


Dernière édition par dominouche le Mar 6 Sep 2016 - 13:06, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Creamy
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1050

Date d'inscription : 15/10/2007


MessageSujet: Re: [résolu]SetView et Animate   Sam 3 Sep 2016 - 22:36

1- Si tu veux que le jeu attende la fin de ton animation pour changer de pièce, il faut la rendre bloquante :
Code:
Sel.Animate (0, 5, eOnce,  eBlock, eForwards);

2- Le jeu passe automatiquement en mode "Wait" pendant les dialogues et les animations bloquantes. Donc rendre l'animation bloquante devrait aussi faire disparaitre ton curseur.

Le curseur "Wait" se trouve dans l'onglet "Mouse cursors" (à droite). Pour qu'il soit invisible, son image doit être sur 0.

Quand l'animation est finie, il faut aussi utiliser un code pour remettre le curseur par défaut après l'utilisation d'un objet de l'inventaire :
Code:
 player.ActiveInventory = null;
  Mouse.ChangeModeGraphic(eModePointer, N° du sprite du curseur par défaut);
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://creamy.unblog.fr/
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 79

Age : 60

Localisation : vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Dim 4 Sep 2016 - 6:36

Merci Creamy, par contre je n'ai pas le bon curseur, j'ai le 1: look at et non le 0: walk to
" />
Code:
Sel.SetView (1);
     Sel.Animate (0, 5, eOnce,  eBlock, eForwards);
    
     cBrett.ChangeRoom (42, 305, 411);
  
              player.ActiveInventory = null;
        
              Mouse.ChangeModeGraphic(eModePointer, 0);
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hanakin
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 488

Age : 51

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: Re: [résolu]SetView et Animate   Dim 4 Sep 2016 - 10:33

Bonjour Dominouche

je pense que ton pb vient de l'ordre des commandes

tu demande a cBrett de changer de room avant le changement de curseur

le mieux est de mettre le Mouse.ChangeModeGraphic(eModePointer, 0);

dans le RoomLoad de ta pièce concernée.


_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]SetView et Animate   Dim 4 Sep 2016 - 14:10

hanakin a écrit:
tu demande a cBrett de changer de room avant le changement de curseur
La commande ChangeRoom ne s'exécute qu'après que les autres commandes ont fini d'être exécutées, donc je pense pas que le problème vienne de là.

En revanche je suis un peu dubitatif sur la pertinence d'utiliser ChangeModeGraphic ici : ça change l'aspect du curseur spécifié de façon permanente. Il me semble pourtant pas que ce soit ce que tu veux faire. Tu as essayé simplement sans cette commande ? Ça donne quoi ?

_________________
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
Creamy
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1050

Date d'inscription : 15/10/2007


MessageSujet: Re: [résolu]SetView et Animate   Dim 4 Sep 2016 - 21:36

Citation :
je suis un peu dubitatif sur la pertinence d'utiliser ChangeModeGraphic ici
Aute temps pour moi. J'ai proposé cette commande parce que je la tartine partout dans mon code. Je viens de me rendre compte que ça marche sans rougit
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://creamy.unblog.fr/
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 79

Age : 60

Localisation : vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 10:52

si je supprime :
Mouse.ChangeModeGraphic(eModePointer, 0);
j'ai toujours le curseur 1: look at
j'ai essayé de mettre le 1 en false et là j'ai le 2: Interact
si je met le 1 et le 2 en false, j'ai le 3, etc etc ....
impossible d'avoir le 0: Walk to
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arlann
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 136

Date d'inscription : 06/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 12:09

Pour changer de curseur par le script il suffit généralement de faire ceci :
Code:
mouse.Mode=eModeWalkto ;

La méthode de Creamy peut être utile par exemple si tu désires effacer complètement le curseur quand il est en mode Wait durant une action spécifique :
Code:
if (cBrett.ActiveInventory == iSimouche) {
  mouse.ChangeModeGraphic(eModeWait, N° d'un sprite vide); //change temporairement le sprite du curseur
  Sel.SetView(1);
  Sel.Animate(0, 5, eOnce, eBlock);
  mouse.ChangeModeGraphic(eModeWait, N° du sprite Wait); // replace le sprite du curseur Wait
}
Par contre je ne comprends ce que tu veux faire en mettant ton script dans la fonction « room_AfterFadeIn() », car je pense que cette fonction est seulement exécutée après le chargement de la pièce.
Si tu veux que ton personnage change de pièce après que le joueur ait utilisé son inventaire iSimouche sur l'objet Sel, il vaut mieux placer ton script dans une fonction  que tu dois créer en passant par l’éditeur d'objet (Use inventory on object).
Dans ce cas ton script devrait ressembler à ça :
Code:
function Sel_UseInv() {

   if (cBrett.ActiveInventory == iSimouche) {
     mouse.ChangeModeGraphic(eModeWait, N° d'un sprite vide);
     Sel.SetView(1);
     Sel.Animate(0, 5, eOnce, eBlock);
     mouse.ChangeModeGraphic(eModeWait, N° du sprite Wait);
     cBrett.ChangeRoom (42, 738, 265);
     mouse.Mode=eModeWalkto ; // Je ne sais pas si c'est nécessaire...
   }

}

De plus je pense que tu utilises des { } superflues dans ton code initial pour entourer ta fonction  ChangeRoom, ce qui peut porter à confusion. Elles ne servent généralement qu'à définir le début et la fin d'une condition pour exécuter un script, ou pour encadrer le contenu d'une fonction.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 79

Age : 60

Localisation : vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 13:07

Oups je n'ai pas mis le nouveau script.
En fait je veux qu'en arrivant à la room 41, l'animation se déclenche, que le curseur wait ne se voit pas.
Jusque la tout va bien.
Mais en arrivant dans la room 42 j'ai toujours le curseur 1: look at et non le 0: Walk to.
De plus dans mon Gui Icon bar le cursor Walk to est grisé et inaccessible.

Mon nouveau script:
Code:
function room_AfterFadeIn()

 {
    mouse.ChangeModeGraphic(eModeWait, 241); // curseur vide
     Sel.SetView (1);
     Sel.Animate (0, 5, eOnce,  eBlock, eForwards);
     Mouse.ChangeModeGraphic(eModePointer, 0);
     cBrett.ChangeRoom (42, 305, 411);
  
              player.ActiveInventory = null;
        
            

}


Dernière édition par dominouche le Lun 5 Sep 2016 - 13:27, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arlann
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 136

Date d'inscription : 06/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 13:23

Alors cela devrait fonctionner comme ça :

Code:
function room_AfterFadeIn() {

     mouse.ChangeModeGraphic(eModeWait, 241); // curseur vide
     Sel.SetView (1);
     Sel.Animate (0, 5, eOnce,  eBlock, eForwards);
     // Mouse.ChangeModeGraphic(eModePointer, 0); // Je ne vois pas pourquoi faire ça
     mouse.ChangeModeGraphic(eModeWait, 2055); // Replace le sprite pour le mode wait du template d'AGS
     player.ActiveInventory = null;
     mouse.Mode=eModeWalkto;
     cBrett.ChangeRoom (42, 305, 411);

}

Sinon tu peux rajouter ceci dans le room_Load de la room 42 :
Code:
function room_Load {

   if (player.PreviousRoom == 41)  mouse.Mode=eModeWalkto;

}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 79

Age : 60

Localisation : vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 13:35

toujours cursor Walk to absent.
Code:
// room script file room 41

function room_AfterFadeIn()

     {
          mouse.ChangeModeGraphic(eModeWait, 241); // curseur vide
     Sel.SetView (1);
     Sel.Animate (0, 5, eOnce,  eBlock, eForwards);
    
     mouse.ChangeModeGraphic(eModeWait, 2054); // Replace le sprite pour le mode wait du template d'AGS
     player.ActiveInventory = null;
    
     cBrett.ChangeRoom (42, 305, 411);
                
                    
        
                
                    
        
        }
      
 
Code:
// room script file room 42

function room_AfterFadeIn()
{
Display ("en attendant que le jeu soit terminer,  tu vas bien réussir à résoudre cette énigme !!");
cBrett.ChangeRoom (100,  181, 743);
}

        function room_Load ()
        {
        
           if (player.PreviousRoom == 41)  mouse.Mode=eModeWalkto;
        
        }
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arlann
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 136

Date d'inscription : 06/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 13:46

Attention pour la fonction room_load() de la 42, tu dois créer la fonction en passant par l'éditeur de la room, cela risque de ne pas marcher si tu copies/colles le code directement dans le script de la room.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 79

Age : 60

Localisation : vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 14:56

alors maintenant le curseur Walk to est présent à la fin de la room 41 mais revient en curseur Walk to à la room 42.

Je m'arrache les cheveux !!!! uh
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Arlann
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 136

Date d'inscription : 06/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 15:24

dominouche a écrit:
alors maintenant le curseur Walk to est présent à la fin de la room 41 mais revient en curseur Walk to à la room 42.
Tu veux dire qu'il revient en Lookat j'imagine ?

dominouche a écrit:
Mais en arrivant dans la room 42 j'ai toujours le curseur 1: look at et non le 0: Walk to.
De plus dans mon Gui Icon bar le cursor Walk to est grisé et inaccessible.
As-tu utilisé la fonction mouse.DisableMode(eModeWalkto); quelque part dans ton script ? Elle permet de désactiver un mode de souris et grise justement l’icône...
mouse.EnableMode(eModeWalkto); pour la réactiver.

De plus je suis parti du principe que cBrett est le personnage contrôlé par le joueur mais ce n'est peut être pas le cas, donc mon code n'est peut être pas bon. Dans la room 42 :

Code:
function room_Load ()
{    
    mouse.Mode=eModeWalkto;  
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dominouche
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 79

Age : 60

Localisation : vendée

Date d'inscription : 19/04/2016


MessageSujet: Re: [résolu]SetView et Animate   Lun 5 Sep 2016 - 16:40

Ouf ça fonctionne, mais je ne sais pas pourquoi!
En fait j'ai refais entièrement mes 2 rooms.
Merci pour les conseils.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [résolu]SetView et Animate   Aujourd'hui à 8:03

Revenir en haut Aller en bas
 
[résolu]SetView et Animate
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [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
» Probleme megapack [Résolu]

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: