====== Héros ====== L'objet Héros est un objet [[Personnage]] 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 Héros ===== * Créer un objet Héros : unHéros = new Héros() * Créer un objet Héros en chargeant une image depuis un fichier : unHéros = new Héros("fichier.png") {{information.png}} L'image chargée est affichée directement et remplace les images prédéfinies. ===== Actions ===== ==== Actions des objets Personnage ==== Les objets Héros sont des objets Personnage particuliers : ils possèdent donc déjà [[personnage#Actions|toutes les actions des objets Personnage]]. ==== Actions supplémentaires ==== * Changer la représentation du Héros : unHéros.changer("garçon") {{ :objets:types_heros.png |}} * Arrêter le mouvement automatique du Héros lorsqu'il se déplace : unHéros.arrêterMouvement() * Démarrer le mouvement automatique du Héros lorsqu'il se déplace : unHéros.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) : unHéros.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 Héros lorsqu'il est à l'arrêt : unPersonnage.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 Personnage : unPersonnage.ajouterDécor(unDécor) {{information.png}} Lorsque le Héros 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]] : * * unPersonnage.supprimerBlocs() * */ ===== Gestion des événements ===== Un objet Héros gère les mêmes événements qu'un objet [[Personnage#gestion_des_evenements|Personnage]]. Il peut en plus attraper des objets. * Donner la possibilité au Héros d'attraper un objet (objets [[Animation]], [[Personnage]], [[Item]] ou [[Héros]]) : unHéros.peutAttraper(unObjet) {{information.png |}} L'objet ''%%unObjet%%'' doit exister et être de catégorie [[Animation]], [[Personnage]], [[Item]] ou [[Héros]]. Lorsque le Héros passera sur cet objet, il le fera disparaître. * Ajouter une commande à exécuter lorsque l'objet Héros attrape un objet : unHéros.siAttrape(unObjet, "commande") {{information.png |}} Cette commande est en fait un raccourci pour les deux commandes suivantes : unHéros.peutAttraper(unObjet) unHéros.siCollisionAvec(unObjet, "commande") ===== Modification de l'apparence ===== L'apparence par défaut du Héros 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) : unHéros.ajouterImage("image1.png") unHéros.ajouterImage("image2.png") ... {{information.png |}} Ces images sont affichées en boucle par l'objet Héros. 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 Héros avance : unHéros.ajouterImage("image1.png", "avancer") unHéros.ajouterImage("image2.png", "avancer") ... * Ajouter des images qui seront affichées en séquence lorsque le Héros recule : unHéros.ajouterImage("image1.png", "reculer") unHéros.ajouterImage("image2.png", "reculer") ... * Ajouter des images qui seront affichées en séquence lorsque le Héros est à l'arrêt : unHéros.ajouterImage("image1.png", "arrêt") unHéros.ajouterImage("image2.png", "arrêt") ...