Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
objets:personnage [2016/04/21 08:02] regis |
objets:personnage [2019/03/13 21:35] (Version actuelle) admin [Modification de l'apparence] |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Bonhomme ====== | + | ====== Personnage ====== |
| - | Un objet Bonhomme affiche un personnage qui peut se déplacer, lever les bras, attraper des objets [[Animation]], etc. | + | L'objet Personnage est un objet [[Promeneur]] particulier : il possède plusieurs apparences prédéfinies et s'anime lorsqu'il se déplace. Il est également capable de se déplacer dans des objets [[Décor]]. |
| - | ===== Créer un Bonhomme ===== | + | {{ :objets:heros.png }} |
| - | * Créer un Bonhomme sans préciser son apparence : | + | ===== Créer un objet Personnage ===== |
| - | <code tangara> | + | * Créer un objet Personnage : |
| - | victor = new Bonhomme() | + | |
| + | <code declick> | ||
| + | unPersonnage = new Personnage() | ||
| </code> | </code> | ||
| - | * Créer un Personnage en précisant son apparence : | + | * Créer un objet Personnage en chargeant une image depuis un fichier : |
| - | <code tangara> | + | <code declick> |
| - | victor = new Bonhomme("chien") | + | unPersonnage = new Personnage("fichier.png") |
| </code> | </code> | ||
| + | |||
| + | {{information.png}} L'image chargée est affichée directement et remplace les images prédéfinies. | ||
| ===== Actions ===== | ===== Actions ===== | ||
| - | * Changer l'apparence d'un Bonhomme : | + | ==== Actions des objets Promeneur ==== |
| - | <code tangara> | + | Les objets Personnage sont des objets Promeneur particuliers : ils possèdent donc déjà [[promeneur#Actions|toutes les actions des objets Promeneur]]. |
| - | victor.changer("chien") | + | |
| + | ==== Actions supplémentaires ==== | ||
| + | |||
| + | * Changer la représentation du Personnage : | ||
| + | |||
| + | <code declick> | ||
| + | unPersonnage.changer("garçon") | ||
| </code> | </code> | ||
| - | {{ types_personnages.png }} | + | {{ :objets:types_heros.png |}} |
| - | * Placer le Bonhomme : | + | * Arrêter le mouvement automatique du Personnage lorsqu'il se déplace : |
| - | <code tangara> | + | <code declick> |
| - | victor.définirPosition(300,200) | + | unPersonnage.arrêterMouvement() |
| - | victor.définirPositionCentre(300,200) | + | |
| </code> | </code> | ||
| - | /* | + | * Démarrer le mouvement automatique du Personnage lorsqu'il se déplace : |
| - | * victor.définirCoordonnéeX(300) | + | |
| - | * victor.définirCoordonnéeY(200) | + | |
| - | */ | + | |
| - | * Faire bouger un Bonhomme | + | <code declick> |
| + | unPersonnage.démarrerMouvement() | ||
| + | </code> | ||
| + | |||
| + | * Définir la durée totale du mouvement de déplacement (la durée pendant laquelle toutes les images du déplacement s'affichent) : | ||
| - | <code tangara> | + | <code declick> |
| - | victor.avancer(50) | + | unPersonnage.définirDuréeMouvement(500) |
| - | victor.reculer(50) | + | |
| - | victor.monter(50) | + | |
| - | victor.descendre(50) | + | |
| </code> | </code> | ||
| - | {{information.png}} 50 indique le nombre de pixels que le Bonhomme doit parcourir | + | {{information.png}} la durée est en millisecondes : un délai de 1000 correspond à une seconde. La valeur par défaut dépend de la représentation choisie. |
| - | {{ bouger_personnage.png }} | + | * Définir la durée totale de l'animation de l'objet Personnage lorsqu'il est à l'arrêt : |
| - | * Arrêter un Bonhomme | + | <code declick> |
| + | unPromeneur.définirDuréeArrêt(1200) | ||
| + | </code> | ||
| - | <code tangara> | + | {{information.png}} la durée est en millisecondes : un délai de 1000 correspond à une seconde. La valeur par défaut dépend de la représentation choisie. |
| - | victor.arrêter() | + | |
| + | * Ajouter un objet [[Décor]] au Promeneur : | ||
| + | |||
| + | <code declick> | ||
| + | unPromeneur.ajouterDécor(unDécor) | ||
| </code> | </code> | ||
| + | {{information.png}} Lorsque le Personnage est associé à un objet Décor, il ne peut pas circuler sur les zones bloquées de ce Décor. | ||
| + | |||
| + | /* | ||
| + | * * Ne plus associer cet objet à des objets [[objet:bloc|Blocs]] : | ||
| + | * | ||
| + | * unPromeneur.supprimerBlocs() | ||
| + | * | ||
| + | */ | ||
| + | |||
| + | ===== Gestion des événements ===== | ||
| + | |||
| + | Un objet Personnage gère les mêmes événements qu'un objet [[Promeneur#gestion_des_evenements|Promeneur]]. Il peut en plus attraper des objets. | ||
| - | * Lever les bras d'un Bonhomme : | + | * Donner la possibilité au Personnage d'attraper un objet (objets [[Animation]], [[Promeneur]], [[Item]] ou [[Personnage]]) : |
| - | <code tangara> | + | <code declick> |
| - | victor.leverBrasGauche(90) | + | unPersonnage.peutAttraper(unObjet) |
| - | victor.leverBrasDroit(90) | + | |
| </code> | </code> | ||
| - | * Baisser les bras d'un Bonhomme : | + | {{information.png |}} L'objet << unObjet >> doit exister et être de catégorie [[Animation]], [[Promeneur]], [[Item]] ou [[Personnage]]. Lorsque le Personnage passera sur cet objet, il le fera disparaître. |
| - | <code tangara> | + | * Ajouter une commande à exécuter lorsque l'objet Personnage attrape un objet : |
| - | victor.baisserBrasGauche(90) | + | |
| - | victor.baisserBrasDroit(90) | + | <code declick> |
| + | unPersonnage.siAttrape(unObjet, "commande") | ||
| </code> | </code> | ||
| - | {{information.png}} 90 indique de combien de degrés le Bonhomme doit lever ou baisser le bras. | + | {{information.png |}} Cette commande est en fait un raccourci pour les deux commandes suivantes : |
| + | <code declick> | ||
| + | unPersonnage.peutAttraper(unObjet) | ||
| + | unPersonnage.siCollisionAvec(unObjet, "commande") | ||
| + | </code> | ||
| - | {{ bras_personnages.png }} | + | ===== Modification de l'apparence ===== |
| - | {{warning.png}} Attention : quand on bouge le bras gauche d'un Bonhomme, c'est son bras gauche à lui, donc celui qui apparaît à droite pour nous ! | + | L'apparence par défaut du Personnage peut être modifiée en ajoutant des images à l'objet. |
| - | * Cacher / Montrer le Bonhomme : | + | * Ajouter des images qui seront affichées en séquence pour tous les mouvements (images par défaut) : |
| - | <code tangara> | + | <code declick> |
| - | victor.cacher() | + | unPersonnage.ajouterImage("image1.png") |
| - | victor.montrer() | + | unPersonnage.ajouterImage("image2.png") |
| + | ... | ||
| </code> | </code> | ||
| - | * Attraper un objet [[Animation]] : | + | {{information.png |}} Ces images sont affichées en boucle par l'objet Personnage. Quand il se déplace, la boucle dure le temps défini par l'action ''%%définirDuréeMouvement%%''. Quand il est à l'arrêt, la boucle dure le temps défini par l'action ''%%définirDuréeArrêt%%''. |
| - | Les objets Bonhomme peuvent attraper un objet [[Animation]] avec leurs mains : | + | * Ajouter des images qui seront affichées en séquence lorsque le Personnage avance : |
| - | <code tangara> | + | <code declick> |
| - | victor.peutAttraper(uneAnimation) | + | unPersonnage.ajouterImage("image1.png", "avancer") |
| + | unPersonnage.ajouterImage("image2.png", "avancer") | ||
| + | ... | ||
| </code> | </code> | ||
| - | * Supprimer un personnage : | + | * Ajouter des images qui seront affichées en séquence lorsque le Personnage recule : |
| - | <code tangara> | + | <code declick> |
| - | victor.supprimer() | + | unPersonnage.ajouterImage("image1.png", "reculer") |
| + | unPersonnage.ajouterImage("image2.png", "reculer") | ||
| + | ... | ||
| </code> | </code> | ||
| + | |||
| + | |||
| + | * Ajouter des images qui seront affichées en séquence lorsque le Personnage est à l'arrêt : | ||
| + | |||
| + | <code declick> | ||
| + | unPersonnage.ajouterImage("image1.png", "arrêt") | ||
| + | unPersonnage.ajouterImage("image2.png", "arrêt") | ||
| + | ... | ||
| + | </code> | ||
| + | |||