| [résolu]SetView et Animate | |
|
|
Auteur | Message |
---|
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: [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 |
|
| |
Creamy Disciple de la Grande Tasse Bleue
Nombre de messages : 1266
Date d'inscription : 15/10/2007
| Sujet: 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); |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: 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);
|
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: 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) |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: 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 ! |
|
| |
Creamy Disciple de la Grande Tasse Bleue
Nombre de messages : 1266
Date d'inscription : 15/10/2007
| Sujet: 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 |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: 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 |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: 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. |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: 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 |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: 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;
} |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: 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; } |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: 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. |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: 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 !!!! |
|
| |
Arlann Cliqueur Amateur
Nombre de messages : 286
Date d'inscription : 06/04/2016
| Sujet: 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; } |
|
| |
dominouche Adepte de la Grande Tasse Bleue
Nombre de messages : 145
Age : 68
Localisation : Olonne sur mer, Vendée
Date d'inscription : 19/04/2016
| Sujet: 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. |
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu]SetView et Animate | |
| |
|
| |
| [résolu]SetView et Animate | |
|