Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -25%
-25% Samsung Odyssey G9 G95C – Ecran PC Gamer ...
Voir le deal
599 €

 

 animé des personnages sans mettre le jeux en pause

Aller en bas 
5 participants
AuteurMessage
Yagami Raito
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Yagami Raito


Nombre de messages : 87

Date d'inscription : 04/09/2007


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 13:45

Bonjour !

Voila ma question, je voudrai rendre mes rooms plus vivantes, et pour ca il me faut animer certains personnages.

Hors si j'anime mes personnages, a chaques fois que l'animation va se jouée, le jeux se mettra en pause le temps que l'animation s'acheve.

Idem pour faire parler un personnage, par exemple j'ai un ivrogne qui ronque dans un cannivaux, et de temps en temps, je voudrai que des ZZzzzz apparaissent mais egalement sans mettre le jeu en pause.

Help ^_^
Revenir en haut Aller en bas
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Asraroth


Nombre de messages : 1468

Age : 49

Date d'inscription : 20/10/2006


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 14:35

Pour les animations, il faut mettre en "eNoblock" (pour pas mettre le jeu en pause).
Et pour faire parler les persos (sans bloquer), c'est avec la commande Saybackground.
Pour faire des ZZZzz de temps en temps, tu peux utiliser un timer qui lance un "cIvrogne.Saybrackground("ZZZzzz")" de temps en temps.
Revenir en haut Aller en bas
https://gl0bul.itch.io/
Yagami Raito
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Yagami Raito


Nombre de messages : 87

Date d'inscription : 04/09/2007


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 14:55

Je sais je suis casse bonbon mais :

Un timer fonctionne comment au juste ? ^_^
Revenir en haut Aller en bas
LUniqueDan
Cliqueur Amateur
Cliqueur Amateur
LUniqueDan


Nombre de messages : 211

Age : 49

Date d'inscription : 05/07/2007


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 16:05

Pour debuter un Timer
AGS possede 20 timers numérotés de 1 à 20 qui peuvent etre utilisé simultanément.
Code:

SetTimer(1,80); //--> debute le timer #1 pour 80 cycles de jeu (2 secondes environ)

Pour verifier si le temps est venu
Habituellement le code c'est dans le Repeatedly Execute d'une Room
(mais ca peut etre dans celui du main script, ou dans les different Repeatedly_execute_always qui sont cachés).

Code:

if (IsTimerExpired(1) == vrai)
  {
  player.SayBackground("ZZZZZZ"):
  SetTimer(1,80); // recommence
  }

Arrêter un Timer avant que ca explose
Y'a bcp de cas où c pratique : pour pas que le ronfleur qui scie du bois continu de faire des ZZZZ dans la face du heros quand il est reveillé : Passer la valeur 0.
Code:

SetTimer(1,0);
Revenir en haut Aller en bas
Yagami Raito
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Yagami Raito


Nombre de messages : 87

Date d'inscription : 04/09/2007


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 16:29

Donc pour ce qui est de l ivrogne qui siffle son ZZzzz c'est parfait ! Ca marche au poil !

Par contre j'ai un soucis avec l'animation.
j'ai entré ce code dans une boucle mais cela ne veux pas marché :

Code:
if (IsTimerExpired(2) == true)
  {
  cCatinn.LockView(6);
  cCatinn.Animate(0, 1, eOnce, eNoBlock);
  cCatinn.UnlockView();
  SetTimer(2,80);
  }

Help ? ^^
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 19:43

C'est vrai que c'est assez énervant les fonctions eBlock / EnoBlock d'AGS. Pour Katura Colonisation, j'ai été obligée de mettre eBlock pour faire se déplacer les colons à chaque fois, sinon ils ne bougeaient pas. Avec pour conséquence le jeu en pause à chaque fois... pénible. J'aurais aimé plein de colons qui marchent partout dans le village, mais je n'ai pas réussi.
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Asraroth


Nombre de messages : 1468

Age : 49

Date d'inscription : 20/10/2006


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 21:41

Quand on fait une animation en "eNoBlock", il faut attendre que l'animation se termine avant de faire un "UnlockView()". Sinon, çà donne rien. Et là, si on veut pas bloquer le jeu, il faut ruser avec les timers.

J'ai eu le problème, sur l'animation de MashinChoz, dans la 1ère room, quand le garde glisse, que son épée s'envole et que Puntie fait un pas sur la droite pour eviter de se la prendre. Ce sont 3 animations dirérentes en casi simultané. Bonjour les réglages !
Enfin, comme c'etait qu'une sequence, j'ai pu m'en sortir avec des "wait" avant de declancher les anims sucessives. Dans ton cas (et celui de Shai-là), ben c'est de la gestion de timer, et bon courage 👅
Revenir en haut Aller en bas
https://gl0bul.itch.io/
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 22:21

Le problème c'est que j'avais déjà utilisé presque la totalité des timers pour gérer les autres événements du jeu, alors si je devais en utiliser également pour gérer les mouvements... j'en aurais jamais eu assez avec 20 ! :evil:
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Yagami Raito
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Yagami Raito


Nombre de messages : 87

Date d'inscription : 04/09/2007


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptyVen 23 Nov 2007 - 23:37

Comme quoi on se rends tres vite compte des limites d'AGS.
Revenir en haut Aller en bas
LUniqueDan
Cliqueur Amateur
Cliqueur Amateur
LUniqueDan


Nombre de messages : 211

Age : 49

Date d'inscription : 05/07/2007


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptySam 24 Nov 2007 - 1:24

Il fut dit que :
Lorsque quelqu'un appel un UnlockView() sur un perso/objet etc... dont la view n'est pas 'Lock' (ou déjà unlock... c la même chose) : ca ne fait pas de bug.

Donc selon les saintes écritures de la tasse bleue :
Code:

if (IsTimerExpired(2) == true)
  {
  cCatinn.UnlockView(); // Pour etre sur

  cCatinn.LockView(6);
  cCatinn.Animate(0, 1, eOnce, eNoBlock);
  SetTimer(2,80);
  }
--Reglera quelques problèmes

Avant de blasphémer à nouveau envers AGS
(et c'est un bûcheron québecois qui parle) :
Code:
if(cPerso.animating == false)
Code:
if(cPerso.frame>1)
Code:
if(cPerso.moving == false)
Code:
if(cPerso.speaking == false)
Sont des choses à essayer.

Programmez en paix mes frères. :cheers:


Dernière édition par le Sam 24 Nov 2007 - 15:58, édité 1 fois
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptySam 24 Nov 2007 - 7:58

J'avais essayé ces trucs, ça ne marchait pas des masses. J'ai dû bidouiller avec
Code:
oBatiment.Graphix = x;
pour déterminer à quel moment l'animation est finie, et je changeais d'image (numéro différent mais même dessin) selon que c'était en activité ou non.
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
LUniqueDan
Cliqueur Amateur
Cliqueur Amateur
LUniqueDan


Nombre de messages : 211

Age : 49

Date d'inscription : 05/07/2007


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptySam 24 Nov 2007 - 15:52

- Tes durées de constructions sont les mêmes? + meme nbr de frame par batiment?
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptySam 24 Nov 2007 - 17:11

Oui, pourquoi ?
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Asraroth
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Asraroth


Nombre de messages : 1468

Age : 49

Date d'inscription : 20/10/2006


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptySam 24 Nov 2007 - 19:03

j'ai pas essayé, mais je pense qu'on peut facilement ajouter des timers...
Au niveau d'une room, par exemple, il suffit d'une variable "montimer" qu'on initialise à 0 en entrant dans la room. Et dans le repeatdly, on fait un "montimer++;" ,suivi d'un test "if (montimer > 80) {" (80 cycles pour 2 sec)
Revenir en haut Aller en bas
https://gl0bul.itch.io/
LUniqueDan
Cliqueur Amateur
Cliqueur Amateur
LUniqueDan


Nombre de messages : 211

Age : 49

Date d'inscription : 05/07/2007


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptySam 24 Nov 2007 - 20:31

Shai-La
C'est un secret.

Asraroth
:cheers:

Dans le Repeatedly_Execute_Always
(sinon quand une action blocante est en fonction ailleur, il n'incrémentera pas)

Le meilleur truc c encore d'adjoindre aux faux timers un vrai timer si l'attente se calcul en secondes:

dans le style :
Code:

if (isTimerExpired(1))
{
// Recherche et incremente les Faux_Timers actifs
// Verifie si les faux timers actifs sont Ok si oui mettre a vrai
    la variable qui leur est adjointe.     
SetTimer(1,40);
}

Mais pour être honnete, le nombre de jeux qui en ont eut vraiment besoin
est très très bas.
En fait, le seul a ma connaissance, après Colonisation c :
http://www.escapistmagazine.com/content/games/yahtzee/artoftheft
Et encore, je me le demande.
Revenir en haut Aller en bas
MilesMando
Cliqueur Amateur
Cliqueur Amateur
MilesMando


Nombre de messages : 310

Age : 43

Localisation : Paris

Date d'inscription : 08/08/2006


animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause EmptySam 24 Nov 2007 - 21:11

Asraroth a écrit:
dans la 1ère room, quand le garde glisse...
Hum, marrant ct' anectode clin d'oeil
Trés interressant ce sujet , à parcourir!

Dan a écrit:
Lorsque quelqu'un appel un UnlockView() sur un perso/objet etc... dont la view n'est pas 'Lock' (ou déjà unlock... c la même chose) : ca ne fait pas de bug.
clin d'oeil

Si l'un de vous réussi un de ces jours à contourner les limites evoquées , ça m'interresse biensur !
Revenir en haut Aller en bas
Contenu sponsorisé





animé des personnages sans mettre le jeux en pause Empty
MessageSujet: Re: animé des personnages sans mettre le jeux en pause   animé des personnages sans mettre le jeux en pause Empty

Revenir en haut Aller en bas
 
animé des personnages sans mettre le jeux en pause
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Mettre un fond animé ?
» Les sons se lancent en simultané ! Comment mettre une pause
» Peut-on mettre les jeux AGS en ligne (type streaming,flash)?
» DISPLAY : le jeu se met en pause
» Background de GUI animé.

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: