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

Partagez | 
 

 Faire bouger des persos en fond pendant que le joueur joue

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Cendar le Rouge
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 31

Age : 36

Localisation : Genève

Date d'inscription : 25/03/2010


MessageSujet: Faire bouger des persos en fond pendant que le joueur joue   Lun 14 Fév 2011 - 18:05

Bonjour à tous ! Ca fait un petit moment que je ne m'étais pas pointé dans ce forum ! grand sourire:

J'ai un petit problème qui ne devrait pas être insurmontable (enfin, je l'espère), mais je dois être une vraie daube.

Je m'explique :

Je cherche à faire marcher en boucle un perso derrière une console de commande (comme s'il faisait les 100 pas) pendant que le joueur se balade et fait d'autres trucs dans la "room"

j'imagine qu'il faut jouer avec la commande "while" et éventuellement une variable, mais je n'arrive pas à trouver comment faire ça. ça fait des heures que je cherche une solution un peu partout dans le forum et le manuel d'AGS mais là j'en peux plus, je fais appel à vos cerveaux pour m'aider !

Help ! rougit
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Benjiman33
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 312

Age : 30

Localisation : Bordeaux-Toulouse

Date d'inscription : 27/07/2007


MessageSujet: Re: Faire bouger des persos en fond pendant que le joueur joue   Lun 14 Fév 2011 - 20:32

Salut! j'ai une solution pour toi, peut être pas la meilleure mais qui marche:

Quand tu charges ta room tu dois définir un timer (cliques sur l'éclair jaune "Event" de ta room et sur Enters before fade-in:

Tu crée alors ton timer:
function room_Load()
{
SetTimer(1, 50); (1 correspond au numéro du compteur, et 50 à la période de répétition que tu veux)
}

ensuite tu sélectionne l'event Repeatdly execute et tu tapes:
function room_RepExec()
{
if (IsTimerExpired(1) == true) {
cPerso.Animate.... (là tu tapes ce que tu veux faire en arrière plan)
SetTimer(1,50);} ( et tu réinitialise le compteur)
}
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Cendar le Rouge
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 31

Age : 36

Localisation : Genève

Date d'inscription : 25/03/2010


MessageSujet: Re: Faire bouger des persos en fond pendant que le joueur joue   Lun 14 Fév 2011 - 21:08

Cool j'ai réglé le problème de la boucle grâce à toi :cool:

Par contre j'ai un deuxième problème...

J'aimerais que mon perso en arrière plan fasse un aller-retour. Le soucis c'est que si je marque :

function room_RepExec()
{
if (IsTimerExpired(1) == true){
cTechMach1.Walk(530, 148, eNoBlock, eWalkableAreas);
cTechMach1.Walk(469, 148, eNoBlock, eWalkableAreas);
SetTimer(1, 50);
}
}


Le perso en question execute les deux ordres en même temps et reste sur place... Comment lui dire de revenir à sa position de départ seulement une fois arrivé en 530,148 ?

( j'espère être assez clair ) rougit
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Cendar le Rouge
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 31

Age : 36

Localisation : Genève

Date d'inscription : 25/03/2010


MessageSujet: Re: Faire bouger des persos en fond pendant que le joueur joue   Lun 14 Fév 2011 - 21:13

Lol, c'est bon j'ai trouvé tout seul !

if (IsTimerExpired(1) == true){
cTechMach1.Walk(530, 148, eNoBlock, eWalkableAreas);
SetTimer(2, 50);
}
if (IsTimerExpired(2) == true){
cTechMach1.Walk(469, 148, eNoBlock, eWalkableAreas);
SetTimer(1, 50);
}

J'ai utilisé un deuxième Timer.

Merci pour tout !

Si quelqu'un a une autre solution, n'hésitez pas !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Benjiman33
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 312

Age : 30

Localisation : Bordeaux-Toulouse

Date d'inscription : 27/07/2007


MessageSujet: Re: Faire bouger des persos en fond pendant que le joueur joue   Mar 15 Fév 2011 - 6:38

Petite remarque, s'il fait les deux actions en même temps c'est que le timer que tu as fixé n'est pas assez long. Essaye de faire un:
SetTimer(1, 200);
Et remplace 200 selon la durée que tu souhaites entre les deux mouvements
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
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: Faire bouger des persos en fond pendant que le joueur joue   Mar 15 Fév 2011 - 8:46

Benjiman33 a écrit:
Petite remarque, s'il fait les deux actions en même temps c'est que le timer que tu as fixé n'est pas assez long. Essaye de faire un:
SetTimer(1, 200);
Et remplace 200 selon la durée que tu souhaites entre les deux mouvements
Faux :clin d\\\\'oeil:
Son perso marche en eNoBlock, cela signifie que le script continuera de s'exécuter sans attendre que le perso ait atteint sa destination (ou simplement fini de marcher). Cela est bien sûr nécessaire pour ne pas bloquer le jeu, histoire que le joueur puisse vaquer à ses occupations. Mais du coup, le personnage n'aura pas le temps d'accomplir son premier déplacement que le script exécutera le deuxième déplacement, d'où l'effet de "sur-place".

C'est un problème récurrent que de devoir gérer la fin des déplacements des personnages "en fond". Il existe bien une fonction Character.AddWaypoint pour spécifier au personnage de se déplacer à un certain point une fois qu'il aura fini son premier déplacement, mais le problème c'est que cette commande ignore les Walkable Areas (va savoir pourquoi il n'y a pas une option...).

Après il est toujours possible de coder rapidement un module qui fasse la même chose, mais qui n'ignore pas les walkable areas... avis aux amateur :^^:

_________________
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
Benjiman33
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 312

Age : 30

Localisation : Bordeaux-Toulouse

Date d'inscription : 27/07/2007


MessageSujet: Re: Faire bouger des persos en fond pendant que le joueur joue   Mar 15 Fév 2011 - 11:07

ha oui exact, désolé j'ai parlé trop vite
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
fabmin
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 31

Age : 50

Localisation : Paris

Date d'inscription : 09/03/2011


MessageSujet: Re: Faire bouger des persos en fond pendant que le joueur joue   Ven 11 Mar 2011 - 19:44

Tout cela me semble pour le moment un langage bien surréaliste. Mais bon, ne nous décourageons pas. Je pense que quand je maîtriserais le soft, je dirais:
-Evidemment qu'on fait comme ça (j'suis p'tête un peu optimiste là).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Perlinpinpin
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?


Nombre de messages : 5

Date d'inscription : 21/03/2011


MessageSujet: Re: Faire bouger des persos en fond pendant que le joueur joue   Lun 21 Mar 2011 - 13:20

fabmin a écrit:
Tout cela me semble pour le moment un langage bien surréaliste. Mais bon, ne nous décourageons pas. Je pense que quand je maîtriserais le soft, je dirais:
-Evidemment qu'on fait comme ça (j'suis p'tête un peu optimiste là).

Ahah, oui, c'est exactement ce que j'ai pensé en lisant la discu.
Patience et longueur de temps...
Il faut bien débuter un jour.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Faire bouger des persos en fond pendant que le joueur joue   Aujourd'hui à 8:01

Revenir en haut Aller en bas
 
Faire bouger des persos en fond pendant que le joueur joue
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Faire bouger des persos en fond pendant que le joueur joue
» Comment faire bouger perso
» [RESOLUE] Faire bouger un objet
» [SANS SUITE] Comment faire bouger des sacboys pour des cinématiques?
» [ASTUCE] "Tester" un sticker/fond de homepage

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: