====== Personnage ====== 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]]. {{ :objets:heros.png }} ===== Créer un objet Personnage ===== * Créer un objet Personnage : unPersonnage = new Personnage() * Créer un objet Personnage en chargeant une image depuis un fichier : unPersonnage = new Personnage("fichier.png") {{information.png}} L'image chargée est affichée directement et remplace les images prédéfinies. ===== Actions ===== ==== Actions des objets Promeneur ==== Les objets Personnage sont des objets Promeneur particuliers : ils possèdent donc déjà [[promeneur#Actions|toutes les actions des objets Promeneur]]. ==== Actions supplémentaires ==== * Changer la représentation du Personnage : unPersonnage.changer("garçon") {{ :objets:types_heros.png |}} * Arrêter le mouvement automatique du Personnage lorsqu'il se déplace : unPersonnage.arrêterMouvement() * Démarrer le mouvement automatique du Personnage lorsqu'il se déplace : unPersonnage.démarrerMouvement() * Définir la durée totale du mouvement de déplacement (la durée pendant laquelle toutes les images du déplacement s'affichent) : unPersonnage.définirDuréeMouvement(500) {{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. * Définir la durée totale de l'animation de l'objet Personnage lorsqu'il est à l'arrêt : unPromeneur.définirDuréeArrêt(1200) {{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. * Ajouter un objet [[Décor]] au Promeneur : unPromeneur.ajouterDécor(unDécor) {{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. * Donner la possibilité au Personnage d'attraper un objet (objets [[Animation]], [[Promeneur]], [[Item]] ou [[Personnage]]) : unPersonnage.peutAttraper(unObjet) {{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. * Ajouter une commande à exécuter lorsque l'objet Personnage attrape un objet : unPersonnage.siAttrape(unObjet, "commande") {{information.png |}} Cette commande est en fait un raccourci pour les deux commandes suivantes : unPersonnage.peutAttraper(unObjet) unPersonnage.siCollisionAvec(unObjet, "commande") ===== Modification de l'apparence ===== L'apparence par défaut du Personnage peut être modifiée en ajoutant des images à l'objet. * Ajouter des images qui seront affichées en séquence pour tous les mouvements (images par défaut) : unPersonnage.ajouterImage("image1.png") unPersonnage.ajouterImage("image2.png") ... {{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%%''. * Ajouter des images qui seront affichées en séquence lorsque le Personnage avance : unPersonnage.ajouterImage("image1.png", "avancer") unPersonnage.ajouterImage("image2.png", "avancer") ... * Ajouter des images qui seront affichées en séquence lorsque le Personnage recule : unPersonnage.ajouterImage("image1.png", "reculer") unPersonnage.ajouterImage("image2.png", "reculer") ... * Ajouter des images qui seront affichées en séquence lorsque le Personnage est à l'arrêt : unPersonnage.ajouterImage("image1.png", "arrêt") unPersonnage.ajouterImage("image2.png", "arrêt") ...