Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -17%
(Black Friday) Apple watch Apple SE GPS + Cellular ...
Voir le deal
249 €

 

 Répéter une action...

Aller en bas 
3 participants
AuteurMessage
shilom
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
shilom


Nombre de messages : 17

Date d'inscription : 07/11/2021


Répéter une action... Empty
MessageSujet: Répéter une action...   Répéter une action... EmptySam 18 Déc 2021 - 18:04

Bonsoir à tous!

J'ai besoin de vos lumières. J'aimerai savoir comment répéter un mouvement ou une action?
Je m'explique, admettons que j'ai besoin de faire faire un mouvement de va et vient à un poisson mort qui flotte sur l'eau, donc dans se cas là il s'agit du déplacement d'un objet inanimé qui se déplace d'un point A à un point B puis de B vers A ou faire marcher un perso d'un point A à un point B et vice versa et répéter cette action indéfiniment? D'avance merci.

Shilom vous salue!!!
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


Répéter une action... Empty
MessageSujet: Re: Répéter une action...   Répéter une action... EmptySam 18 Déc 2021 - 21:39

Salut,

Tu devras utiliser la fonction room_RepExec() de ta pièce pour contrôler les mouvements de l'objet en arrière-plan. Mettons que tu veux qu'un personnage marche de (x1,y1) à (x2,y2), puis retourne à (x1,y1), etc. en boucle. Tu pourrais faire quelque chose comme ça dans le script de ta pièce :

Code:
#define N_POINTS 2
int Xs[N_POINTS];
int Ys[N_POINTS];
int boucle;

// La fonction de l'événement de pièce "Repeatedly execute"
function room_RepExec() {
  if (!cPersoArrierePlan.Moving){
    cPersoArrierePlan.Walk(Xs[boucle%N_POINTS], Ys[boucle%N_POINTS], eNoBlock);
    boucle++;
  }
}

// La fonction de l'événement de pièce "Enters room before fade-in"
function room_Load() {
  boucle = 0;
  Xs[0] = 100; // Première destination :
  Ys[0] = 50;  // (100,50)
  Xs[1] = 250; // Deuxième destination :
  Ys[1] = 120; // (250,120)
}

_________________
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


Répéter une action... Empty
MessageSujet: Re: Répéter une action...   Répéter une action... EmptyDim 19 Déc 2021 - 8:02

Si la zone n'est pas très grande, tu peux aussi simuler le déplacement directement en faisant une animation avec les sprites de l'objet Poisson, et en lançant l'animation avec l'option eRepeat sourire

Sinon, perso, quand j'avais besoin de faire ça dans un de mes jeux, j'avais utilisé un code dans le genre :

Code:

//Before fade-in

oPoisson.Move(x1, y1, eNoBlock);


//Repeatedly Execute

if (oPoisson.X >= x1){
oPoisson.Move(x2, y2, eNoblock);
}

if(oPoisson.X <= x2){
oPoisson.Move(x1, y1, eNoblock)
}

Revenir en haut Aller en bas
http://marionpoinsot.fr/video
shilom
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
shilom


Nombre de messages : 17

Date d'inscription : 07/11/2021


Répéter une action... Empty
MessageSujet: Re: Répéter une action...   Répéter une action... EmptyLun 20 Déc 2021 - 15:12

Super, merci, je vais essayer ça dés que possible. Du coup, je me pose la question, comment gérer la vitesse de déplacement d' un objet?
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


Répéter une action... Empty
MessageSujet: Re: Répéter une action...   Répéter une action... EmptyLun 20 Déc 2021 - 15:58

Pour les objets, tu peux passer un troisième paramètre à Move, après la coordonnée Y (d'ailleurs dans l'exemple de @Shai-la il faudrait en fait passer une valeur pour la vitesse avant eNoBlock dans Move, sinon ça marchera pas). Pour les personnages, tu peux utiliser la fonction SetWalkSpeed

_________________
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
shilom
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
shilom


Nombre de messages : 17

Date d'inscription : 07/11/2021


Répéter une action... Empty
MessageSujet: Re: Répéter une action...   Répéter une action... EmptySam 1 Jan 2022 - 9:59

Génial! ça fonctionne à merveille... Merci à vous deux, vous avez été très complémentaire dans vos réponses.

Shilom vous salue!
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


Répéter une action... Empty
MessageSujet: Re: Répéter une action...   Répéter une action... EmptyDim 2 Jan 2022 - 7:39

Super !! sourire
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Contenu sponsorisé





Répéter une action... Empty
MessageSujet: Re: Répéter une action...   Répéter une action... Empty

Revenir en haut Aller en bas
 
Répéter une action...
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Action sur une zone inaccessible
» Action dans l'inventaire
» une action pas si simple [Résolu]
» Animation du cuseur si action possible.
» Associer une touche a une action

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: