Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 Jouer une animation à partir d'une frame/vignette déterminée

Aller en bas 
4 participants
AuteurMessage
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptyMar 17 Déc 2013 - 14:08

Imaginons que j'ai une animation qui se lance à un certain moment. Je veux réutiliser cette animation à un autre endroit, mais pas du début, simplement à partir de la vignette 10, par exemple. Il faut que je crée une fonction pour ça (si oui je crois voir à peu près comment faire) ou ce cas de figure est déjà prévu par AGS ?

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptyMar 17 Déc 2013 - 19:55

Après une recherche rapide dans le manuel d'aide et sur le forum anglophone, il ne semble pas y avoir de méthode pré-programmée pour cela.

Tant mieux si tu vois à peu près comment faire pour créer ta fonction. Moi la méthode qui me vient à l'esprit est de remplacer la fonction Animate par une autre qui gère les choses dans repeatedly_execute(_always ?) de façon à pouvoir lui passer des paramètres supplémentaires.

_________________
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
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptyMar 17 Déc 2013 - 20:19

Voici ma solution dans l'état dans lequel elle se trouve, c'est à dire perfectible et pas finie. Pour être complet il faudrait ajouter un paramètre "vignette_fin" dont je ne pense pas avoir besoin personnellement (quoique). Deux inconvénients potentiels : impossibilité de rentrer un paramètre eNoBlock et par conséquent impossibilité de jouer une action en boucle (enfin ça serait possible mais de manière bloquante, donc ça ne me semble pas avoir d'intérêt, si une animation tourne en boucle en étant bloquante, on ne peut plus jouer). C'est peut-être pour contourner ces inconvénients que tu envisage de passer par repeatedly_execute, mais je ne vois pas comment (bon je n'y ai pas trop réfléchi j'avoue).

Code:
function AnimPartielle(this Character*, int sequence,  int vignette_debut, int Delai, Direction Dir){
  this.Loop = sequence;
  this.Frame = vignette_debut;
  ViewFrame *frame = Game.GetViewFrame(this.View, this.Loop, this.Frame);
  int Duree = (Delai + frame.Speed);
  Wait(Duree);
  
  if (Dir == eBackwards){
    while(this.Frame > 0){
      this.Frame = this.Frame - 1;
      ViewFrame *frame2 = Game.GetViewFrame(this.View, this.Loop, this.Frame);
      int Duree2 = (Delai + frame2.Speed);
      Wait(Duree2);
    }
  }
  
  else if (Dir == eForwards){
    int NbVignettes = Game.GetFrameCountForLoop(this.View, this.Loop);
    while(this.Frame < (NbVignettes - 1)){
      this.Frame = this.Frame + 1;
      ViewFrame *frame3 = Game.GetViewFrame(this.View, this.Loop, this.Frame);
      int Duree3 = (Delai + frame3.Speed);
      Wait(Duree3);
    }
  }
}

Cette solution fonctionne très bien (je crois), j'en suis plutôt content parce que c'est probablement ma plus belle fonction (^^), cela dit je m'attends à des critiques sur sa forme qui l'amélioreront probablement. Il y a notamment une redondance de la variable ViewFrame, je n'ai pas trouvé mieux parce qu'il fallait déterminer la vignette initiale avant le reste.

PS : J'ai pu déterminer le temps d'affichage des vignettes grâce à ce que l'aide indiquait ici :

Citation :
Le temps entre chaque vignette (frame) est calculé selon DELAI + VITESSE_DE_VIGNETTE, donc la durée d'affichage des vignettes est calculée par rapport à la vitesse générale.

L'aide d'AGS est vraiment un outil merveilleux sourire

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Billbis


Nombre de messages : 1346

Date d'inscription : 10/05/2012


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptyMer 18 Déc 2013 - 13:10

Dis dont, tu deviens sacrément avancé en AGS script. Je pense que tu peux mettre "Je peux apporter de l'aide niveau intermédiaire" maintenant !
En effet, pour passer en NoBlock, il faut jouer avec les repeatidly_execute. Donc si tu n'en as pas besoins, inutile de se casser la tête avec.

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
http://nothingaboutthedog.blogspot.fr/
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptyMer 18 Déc 2013 - 13:18

Billbis a écrit:
Dis dont, tu deviens sacrément avancé en AGS script. Je pense que tu peux mettre "Je peux apporter de l'aide niveau intermédiaire" maintenant !

Cool ! J'ai validé le 2ème level, je passe au 3ème !  grand sourire

Cela dit je pense souvent aux bonds que tu ferais en regardant le bordel qu'est mon code dans son ensemble (cela dit quand j'ai commencé le jeu, mes compétences étaient bien moindres, j'apprends en même temps donc ça se justifie).

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
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


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptySam 21 Déc 2013 - 6:48

Ce ne serait pas beaucoup plus simple de créer une nouvelle loop?
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptySam 21 Déc 2013 - 11:49

Peut-être que valoulef veut stopper/reprendre l'animation à/depuis une vignette arbitraire.

_________________
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
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
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


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptySam 21 Déc 2013 - 13:12

Ah oui je vois !
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée EmptySam 21 Déc 2013 - 13:45

Ouais mais même pas en fait (désolé j'ai pas le temps de développer je le ferai ce soir ! ^^)

Edit du soir :
Dans mon cas il serait peut-être un peu plus simple de refaire une view, mais pas tant que ça non plus car c'était pas si compliqué à faire finalement. Je ne peux pas refaire simplement une loop car il faut que cela corresponde à la bonne direction. Ensuite, quand je me dis quelque chose du genre "tiens ça serait pratique si cette fonction existait" j'aime bien essayer de la créer, d'abord pour voir si j'en suis capable, ensuite parce que c'est en faisant qu'on apprend, ensuite parce que d'un point de vue théorique, ça peut s'avérer utile à moi où à d'autres. Pour moi, j'ai déjà beaucoup de vues et je n'ai pas envie d'en créer des supplémentaires inutilement. En plus certaines animations sont assez fastidieuses à créer car les sprites ne s'enchaînent dans un ordre complexe. Pour d'autres, je pense que cette fonction peut servir pour ces cas là où pour d'autres cas, comme celui auquel à pensé Kitai. Mais encore une fois ma fonction est perfectible pour convenir à tout le monde.

_________________
Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
Revenir en haut Aller en bas
Contenu sponsorisé





Jouer une animation à partir d'une frame/vignette déterminée Empty
MessageSujet: Re: Jouer une animation à partir d'une frame/vignette déterminée   Jouer une animation à partir d'une frame/vignette déterminée Empty

Revenir en haut Aller en bas
 
Jouer une animation à partir d'une frame/vignette déterminée
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]jouer une animation à l'endroit puis à l'envers
» Interface de chargement/enregistrement avec Vignette
» View frame ( / Viewframe )
» Relancer toutes les animations en cours depuis la frame 1
» Ouvrir de la musique à partir de l'ordinateur dans un jeu

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: