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

Partagez | 
 

 Lancer systématiquement une view lors d'une interaction

Aller en bas 
AuteurMessage
CookiewooD
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 38

Age : 30

Localisation : Gard

Date d'inscription : 18/09/2018


MessageSujet: Lancer systématiquement une view lors d'une interaction   Jeu 20 Sep 2018 - 15:45

Hello,

Bon, ça va vous paraître bidon comme question et je vous promet que j'ai cherché par moi même pendant 2h mais pas moyen d'avoir une réponse clair sur les différentes base de données que j'ai trouvé aussi bien en anglais qu'en Français.

J'ai crée une view avec une loop ou mon player tend le bras pour se saisir d'un objet ou le donner à quelqu'un.
Je n'arrive pas a trouver où mettre dans le panel character de systématiquement lancer cette loop lorsque le player prend un objet.

Ou alors faut il que j'ajoute à chaque fois une ligne qui lance la loop "prendre" dans ma fonction ? Si oui comment je script ça ?

Merci d'avance sourire
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
avatar

Nombre de messages : 2637

Date d'inscription : 01/08/2006


MessageSujet: Re: Lancer systématiquement une view lors d'une interaction   Jeu 20 Sep 2018 - 16:21

Il me semble pas que AGS ait véritablement une fonction "prendre" de façon native. Selon le template que tu utilises peut-être qu'il vient avec quelque chose comme "pick up" par défaut, mais la gestion de ce truc se fait dans le script en arrière-plan. La façon de faire la plus standard est probablement d'utiliser un mode de curseur genre eModePickUp (ou eModePrendre pour rester francophone) et de scripter en conséquence dans la fonction du Global Script qui gère les clics.

En gros, tu dois avoir quelque part dans ton Global Script une fonction on_mouse_click dans laquelle il y a des if/else if/else qui vérifient le mode du curseur lors d'un clic, et qui (si mes souvenirs sont bons) appellent la commande ProcessClick.
Dans ton cas, tu veux avoir un (else) if qui regarde si le mode est eModePickUp, et si oui (et s'il y a bien un objet sous le curseur---voir Object.GetAtScreenXY et Mouse.x/Mouse.y) alors tu lances ton animation en question (probablement avec LockView et Animate avec le paramètre eBlock) puis tu valides le clic avec ProcessClick et eModePickUp.

Hésite pas à demander des éclaircissements au besoin, j'ai conscience que c'est un peu jargonneux tout ça.

_________________
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 En ligne
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5661

Age : 40

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Lancer systématiquement une view lors d'une interaction   Jeu 20 Sep 2018 - 16:40

Malheureusement je crois que tu n'as pas le choix, tu dois coder l'utilisation de cette loop chaque fois que ton perso prend quelque chose. Cela dit il est possible de créer une fonction et tu codes une fois pour toutes l'animation, que tu appelles ensuite dans les rooms, par exemple player.Prend(); sourire

_________________
Mon profil Facebook!
Mon site avec tous mes jeux, vidéos, illustrations etc
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 2637

Date d'inscription : 01/08/2006


MessageSujet: Re: Lancer systématiquement une view lors d'une interaction   Jeu 20 Sep 2018 - 19:34

Shai-la a raison, je pense que sa solution est plus propre (et simple !) que la mienne.

Inspiration pour la fonction :
Code:
function Prend(this Character*, InventoryItem objet) {
   this.LockView(PREND); // à remplacer par le numéro de vue adéquat
   this.Animate(this.Loop, 4, eOnce, eBlock);
   this.UnlockView();
   this.AddInventory(objet);
};

Tu peux la définir en haut du Global Script, et oublie pas de l'importer dans l'en-tête (header) avec la fonction import.

_________________
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 En ligne
CookiewooD
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
avatar

Nombre de messages : 38

Age : 30

Localisation : Gard

Date d'inscription : 18/09/2018


MessageSujet: Re: Lancer systématiquement une view lors d'une interaction   Ven 21 Sep 2018 - 14:41

Vous êtes géniaux merci sourire J'avais fini par me résoudre hier soir à le coder à chaque fois que j'interact et ça marchait très bien. Je n'ai pas tout à fait procédé comme Kitai me l'indiquait, mais vraiment pas loin, (ça me donne l'occasion de me pencher sur le eOnce, qui a mon avis me re-servira)

Et merci les tasses bleus, j'avance très vite dans un domaine totalement nouveau pour moi et c'est grâce à vous <3
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
avatar

Nombre de messages : 5661

Age : 40

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: Lancer systématiquement une view lors d'une interaction   Ven 21 Sep 2018 - 15:48

Hâte de jouer à ta première création clin d'oeil

_________________
Mon profil Facebook!
Mon site avec tous mes jeux, vidéos, illustrations etc
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://marionpoinsot.fr/video
Contenu sponsorisé




MessageSujet: Re: Lancer systématiquement une view lors d'une interaction   

Revenir en haut Aller en bas
 
Lancer systématiquement une view lors d'une interaction
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Mêlée] C'est systématiquement débile, mais toujours inattendu (9° CR de Tours)
» [Fields of Fire] Dans le bourbier des règles
» Organisation de la Table Battle lors de Convention Day 2010
» [resolu] bug plantage lors de la mise a jour du karotz (installation)
» Google Map Street View - Belgique

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Trucs & Astuces, Tutoriaux-
Sauter vers: