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

Partagez | 
 

 FONCTIONS LIEES AUX PERSONNAGES

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue


Nombre de messages : 5377

Age : 38

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: FONCTIONS LIEES AUX PERSONNAGES   Ven 28 Avr 2006 - 20:46

Voici la liste des principaux événements qui apparaissent quand vous entrez le script o'name d'un personnage suivi d'un point :

AddInventory : vous permet d'ajouter un objet d'inventaire, en indiquant le script o'name de l'objet souhaité.
Exemple :
Code:
cEgo.AddInventory(iClef);
... ajoute l'objet «Clef» à l'inventaire du personnage.

Animate : lance l'animation d'un personnage. Entre parenthèses, indiquez le numéro de la loop (celle de la view active), et la vitesse (0 = le plus rapide ; plus le chiffre est élevé, plus la vitesse est lente). Vous pouvez aussi ajouter le paramètre «eRepeat» si vous voulez que l'animation se joue en boucle, et «eNoBlock» pour empêcher que le jeu se bloque durant l'animation (le script continue pendant l'animation). Si vous souhaitez modifier la view avant de lancer une animation, utilisez le code LockView.
Exemple :
Code:
cEgo.Animate(3, 7);
... lancera la loop 3 de la view actuelle du personnage, à la vitesse 7. Le jeu attendra que l'animation soit terminée avant de continuer.
Code:
cSam.LockView(5);
cSam.Animate(4, 7, eRepeat, eNoBlock);
... lancera la loop 4 de la view 5 du personnage Sam, qui se jouera en boucle. Ici, la fonction eNoBlock est indispensable pour éviter que le jeu se bloque sur l'animation !

ChangeRoom : permet de téléporter le personnage à une autre room. Indiquez entre parenthèses le numéro de la room, la coordonnée en X et la coordonnée en Y. S'il s'agit du personnage principal, le joueur sera téléporté dans cette room ; s'il s'agit d'un personnage non joueur, le personnage principal le rencontrera alors lorsqu'il ira dans cette room.
Exemple :
Code:
cSam.ChangeRoom(4, 100, 50);
... téléporte le personnage Sam dans la room 4, aux coordonnées 100/50. Si Sam est le personnage joueur, le jeu se poursuit dans la room 4. Sinon, le personnage joueur rencontrera Sam dans la room 4 plus tard.

ChangeView : permet de changer de manière permanente la view principale du personnage (par exemple s'il change d'apparence en cours de jeu). Ne pas confondre avec la commande LockView qui permet de changer une view de manière temporaire.
Exemple :
Code:
cEgo.ChangeView(5);
... attribue la view 5 comme la nouvelle view principale du personnage EGO.

_________________
Mon profil Facebook!


Dernière édition par Shai-la le Lun 20 Avr 2009 - 15:13, édité 1 fois
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


Nombre de messages : 5377

Age : 38

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: FONCTIONS LIEES AUX PERSONNAGES   Sam 29 Avr 2006 - 19:15

FaceCharacter : permet de forcer un personnage à regarder en direction d'un autre personnage (par exemple avant de lui parler).
Exemple :
Code:
cEgo.FaceCharacter(cSam);
... fera en sorte que le personnage EGO se tourne vers le personnage SAM.

FaceLocation : permet de forcer un personnage à regarder une coordonnée, afin par exemple qu'il regarde un hotpost.
Exemple :
Code:
cEgo.FaceLocation(100,50);
... fera en sorte que le personnage regarde en direction du point aux coordonnées 100/50.

FaceObject : Similaire à FaceCharacter, mais pour un objet.
Exemple :
Code:
cEgo.FaceObject(object[2]);
... fera en sorte que le personnage EGO regarde en direction de l'objet numéro 2 de la room.

FollowCharacter : demande au personnage de suivre un autre personnage dans tous ses déplacements. Vous pouvez entrer la distance en pixels entre les deux personnages et le temps que met le personnage avant de se décider à suivre l'autre (0 = immédiatement, 99 = prend bien son temps).
Notez qu'en entrant 0 aux deux, le personnage semblera poursuivre l'autre personnage, et continuera de tourner autour de lui !
Exemple :
Code:
cEgo.FollowCharacter(cSam, 5, 80);
... fera en sorte que EGO suive SAM à une distance de 5 pixels, en attendant un petit moment avant de lui emboîter le pas.

IsCollidingWithChar : regarde si le personnage percute un autre personnage. Entre la valeur 1 si oui, 0 si non. Le jeu regardera au niveau des pieds des personnages (ils ne se percutent pas s'ils sont suffisamment loin même si les sprites sont superposés).
Exemple :
Code:
if (cEgo.IsCollidingWithChar(cSam) == 1) {
Display («Fais attention ou tu marches !»);
}
... affichera le texte si EGO touche SAM.

IsCollidingWithObject : même chose, mais avec un objet.
Exemple :
Code:
if (cEgo.IsCollidingWithObject(object[5]) == 1) {
Display («Oh, j'ai marché sur un truc !»);
}
... affichera le texte si EGO touche l'objet 5 de la room.

_________________
Mon profil Facebook!


Dernière édition par Shai-la le Lun 20 Avr 2009 - 15:14, édité 1 fois
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


Nombre de messages : 5377

Age : 38

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: FONCTIONS LIEES AUX PERSONNAGES   Sam 29 Avr 2006 - 19:42

LockView : permet de modifier temporairement la view d'un personnage, le temps d'une animation. Ne pas oublier d'ajouter UnlockView après, pour qu'il ne reste pas bloqué sur la view après l'animation !
Exemple :
Code:
cEgo.LockView(5);
cEgo.Animate(4, 7);
cEgo.UnlockView();
... lancera la loop 4 de la view 5 à la vitesse 7 pour le personnage EGO, avant de revenir à la view de base.

LoseInventory : enlève un item de l'inventaire du personnage.
Exemple :
Code:
cEgo.LoseInventory(iClef);
... fera en sorte que EGO ne possède plus l'objet Clef s'il l'avait dans son inventaire.

PlaceOnWalkableArea : place le personnage sur l'aire de marche la plus proche. Utile si le personnage est téléporté aléatoirement, afin d'être sûr qu'il pourra se déplacer s'il se retrouve en-dehors d'une walkable area.
Exemple : vous pouvez ajoutez
Code:
cEgo.PlaceOnWalkableArea();
... à l'événement «Players enters room (before fade-in)» pour être sûr que le personnage pourra se déplacer dès son entrée dans la room.

Say : fera prononcer une phrase au personnage, en affichant le texte au-dessus de sa texte (message Speech).
Exemple :
Code:
cEgo.Say («Mon nom est Roger»);
... fera prononcer la phrase au personnage EGO.

SayAt : idem que précédemment, mais vous pouvez entrez les coordonnées où vous voulez que le texte s'affiche, au lieu de le faire afficher au-dessus de sa tête. Vous pouvez aussi déterminer la longueur maximum du texte (il ira à la ligne au bout d'un certain nombre de pixels). AGS lancera l'animation Speech du personnage de manière normale.
Exemple :
Code:
cEgo.Say(«ECHO !»);
cEgo.SayAt(0, 0, 100, «ECHO !»);
cEgo.SayAt(300, 100, 100, «ECHO !»);
... affichera le texte «ECHO» au dessus de la tête du personnage, puis aux coordonnées 0/100, puis aux coordonnées 300/100, pour une longueur max de 100 pixels.

SayBackground : idem, sauf que le jeu continue pendant que le personnage parle. Utile par exemple pour faire parler des gens en arrière-plan pendant que le joueur continue à jouer.
Exemple :
Code:
cSam.SayBackground(«La la laaa, pom pom pom...»);
... fera en sorte que Sam chantonne sans mettre le jeu en pause. Il cessera si le personnage vient lui parler.

_________________
Mon profil Facebook!


Dernière édition par Shai-la le Lun 20 Avr 2009 - 15:15, édité 1 fois
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


Nombre de messages : 5377

Age : 38

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: FONCTIONS LIEES AUX PERSONNAGES   Sam 29 Avr 2006 - 20:06

SetAsPlayer : permet de changer le personnage contrôlé par le joueur, qui devient à son tour le personnage principal. S'il était dans une autre room, le jeu ce poursuit dans cette room. Utile si vous souhaitez faire un jeu où on peut contrôler plusieurs personnages.
Exemple :
Code:
cSam.SetAsPlayer();
... fera en sorte que Sam soit à présent le personnage contrôlé par le joueur.

SetIdleView : permet de modifier l'idle view (l'animation qui se lance automatiquement au bout d'un certain temps si le personnage ne fait rien) d'un personnage. Vous pouvez déterminer au bout de combien de secondes elle se lance. Si vous entrez 0, on ne verra plus la view de base, mais tout de suite l'idle view (utile si vous voulez remplacez la frame d'inactivité du personnage par une animation, par exemple si ses cheveux ou ses habits volent au vent, ou s'il nage en faisant du sur-place).
Exemple :
Code:
cEgo.SetIdleView(12, 30);
... attribuera la view 12 au personnage EGO comme étant sa nouvelle idle view. Elle se lancera au bout d'une période de 30 secondes d'inactivité.

SetWalkSpeed : vous permet de modifier la vitesse de marche du personnage, par exemple si vous souhaitez qu'à un moment il marche moins vite ou plus vite que d'habitude. Vous pouvez entrer la vitesse pour un déplacement horizontal et vertical (mais en général, mettez la même valeur au deux).
Exemple :
Code:
cEgo.SetWalkSpeed(10, 10);
... fera passer la vitesse de marche du personnage EGO à 10.

StopMoving : stoppe le personnage.
Exemple :
Code:
if (cEgo.x > 299) {
  cEgo.StopMoving();
}
... arrêtera le personnage EGO s'il dépasse la coordonnée X 299.

Think : affiche un texte au-dessus de la tête du personnage de la même manière que lors d'un dialogue. La différence est qu'il ne prononce pas la phrase, mais qu'il la pense. L'animation Speech ne sera donc pas lancée. Si vous avez configuré une Thinking Animation pour le personnage, elle sera lancée, sinon il restera sur sa frame de base. Si vous avez configuré un GUI pour les bulles de pensées (et coché la case «Thought use bubbles GUI» dans le General Settings), le texte sera affiché dans ce GUI.
Exemple :
Code:
cEgo.Think(«Tiens, je me demande ou est passe Sam ?»);
... affichera le texte au-dessus de la tête de EGO comme s'il était en train de la penser.

UnlockView : redonne au personnage son animation de base, si vous l'aviez changée avec LockView (voir LockView).

Walk : déplace le personnage jusqu'à une certaine coordonnée. Si vous ajoutez eNoBlock, le personnage marchera en background sans mettre le jeu en pause durant son déplacement ; si vous mettez eBlock, cela arrêtera le jeu jusqu'à ce qu'il atteigne son but. Si vous ajoutez eAnyWhere, le personnage se rendra aux coordonnées sans tenir compte des Walkable Area (sinon, il s'approchera le plus près possible).
Exemple :
Code:
cEgo.Walk(150, 200, eBlock, eWalkableAreas);
... fera déplacer le personnage EGO jusqu'aux coordonées 150/200 de la room, en utilisant uniquement les Walkable Areas. Le jeu sera en pause durant son déplacement.

_________________
Mon profil Facebook!


Dernière édition par Shai-la le Lun 20 Avr 2009 - 15:17, édité 1 fois
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


Nombre de messages : 5377

Age : 38

Localisation : Montpellier

Date d'inscription : 17/04/2006


MessageSujet: Re: FONCTIONS LIEES AUX PERSONNAGES   Dim 30 Avr 2006 - 6:43

PreviousRoom : retourne le numéro de la room dans laquelle le personnage était précédemment. Utile par exemple si une room possède plusieurs entrées/sorties, et que vous voulez le placer à des endroits différents lorsqu'il entre selon la room d'où il vient.
Exemple :
Code:
if (cEgo.PreviousRoom == 10) {
cEgo.Say(«Je viens de la chambre»);
}
else {
cEgo.Say(«Je viens d'une autre pièce.»);
}
.... affichera le texte «je viens de la chambre» si le personnage était dans la room 10 (celle correspondant à la chambre) juste avant, ou l'autre texte si ce n'est pas le cas.

Room : idem que précédemment, mais pour la room dans laquelle le personnage est actuellement. Utile par exemple pour déterminer l'emplacement d'un autre personnage.
Exemple :
Code:
Display(«Sam est dans la piece numéro %d», cSam.Room);
... Affichera le texte avec le numéro de la room dans laquelle se trouve Sam à ce moment.
Code:
if(cEgo.Room == 3){
Display("Le joueur est dans la room 3.");
}

SpeechView : permet de modifier de manière définitive le numéro de la view à utiliser lorsque le personnage parle. Utile si par exemple le personnage change d'apparence en cours de jeu.
Exemple :
Code:
cEgo.SpeechView = 10;
... fera en sorte que la view numéro 10 soit la nouvelle Speech View de EGO. Elle remplace celle qui avait été précédemment déterminée.

ThinkView : idem, mais pour l'animation lorsque le personnage pense.

Transparency : permet de déterminer la transparence d'un personnage, par exemple si celui-ci devient invisible durant le jeu. Possible uniquement avec un jeu en couleurs 32 bits et des personnages utilisant des images en couleurs 32 bits. 0 = personnage totalement opaque, 100 = personnage totalement invisible.
Exemple :
Code:
cEgo.Transparency = 80;
... fera en sorte que le personnage EGO devienne transparent mais encore visible, un peu comme un fantôme.

x ; y : permet de retourner les coordonnées du personnage ou de les modifier (par exemple pour le faire se téléporter instantanément à un autre endroit de la room).
Exemple :
Code:
cEgo.x = 50;
cEgo.y = 20;
Display («et hop, je me teleporte aux coordonnees %d, %d !», cEgo.x, cEgo.y);
... téléportera le personnage EGO aux coordonnées 50/20 et affichera le texte avec les valeurs des coordonnées x et y.

_________________
Mon profil Facebook!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: FONCTIONS LIEES AUX PERSONNAGES   

Revenir en haut Aller en bas
 
FONCTIONS LIEES AUX PERSONNAGES
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Qui a des noms pour ses personnages ?
» petite question : comment créer ses propres personnages?? [résolu]
» Personnages spéciaux
» Thèmes des personnages
» Nom occidental des personnages de Touhou?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: 3. LE SCRIPT-
Sauter vers: