====== 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")
...