Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
objets:heros [2015/01/26 11:06] admin créée |
objets:heros [2019/03/13 21:33] admin [Modification de l'apparence] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Héros ====== | ====== Héros ====== | ||
- | L'objet Promeneur est un objet [[Animation]] particulier : il peut tomber et se cogner à des parois. Ces parois sont représentées par des objets [[Bloc]]. | + | 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?200 |}} | + | {{ :objets:heros.png }} |
===== Créer un objet Héros ===== | ===== Créer un objet Héros ===== | ||
- | * Créer un objet Promeneur : | + | * Créer un objet Héros : |
- | <code tangara> | + | <code declick> |
- | unPromeneur = new Promeneur() | + | unHéros = new Héros() |
</code> | </code> | ||
- | * Créer un objet Promeneur en chargeant une image depuis un fichier : | + | * Créer un objet Héros en chargeant une image depuis un fichier : |
- | <code tangara> | + | <code declick> |
- | unPromeneur = new Promeneur("fichier.png") | + | unHéros = new Héros("fichier.png") |
</code> | </code> | ||
- | {{information.png}} L'image chargée est affichée directement. | + | {{information.png}} L'image chargée est affichée directement et remplace les images prédéfinies. |
===== Actions ===== | ===== Actions ===== | ||
- | ==== Actions des objets Animation ==== | + | ==== Actions des objets Personnage ==== |
- | Les objets Promeneur sont des objets Animation particuliers : ils possèdent donc déjà [[animation#Actions|toutes les actions des objets Animation]]. | + | 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 ==== | ==== Actions supplémentaires ==== | ||
- | * Soumettre l'objet Promeneur à la gravité : | + | * Changer la représentation du Héros : |
- | <code tangara> | + | <code declick> |
- | unPromeneur.peutTomber(true) | + | unHéros.changer("garçon") |
</code> | </code> | ||
- | {{information.png}} L'objet va tomber jusqu'à rencontrer un objet [[bloc|Bloc]]. | + | {{ :objets:types_heros.png |}} |
- | * Ne pas soumettre l'objet Promeneur à la gravité : | + | * Arrêter le mouvement automatique du Héros lorsqu'il se déplace : |
- | <code tangara> | + | <code declick> |
- | unPromeneur.peutTomber(false) | + | unHéros.arrêterMouvement() |
</code> | </code> | ||
- | * Définir la vitesse de chute de l'objet : | + | * Démarrer le mouvement automatique du Héros lorsqu'il se déplace : |
- | <code tangara> | + | <code declick> |
- | unPromeneur.définirGravité(50) | + | unHéros.démarrerMouvement() |
</code> | </code> | ||
- | {{information.png}} la valeur par défaut de la gravité est de 100. | + | * Définir la durée totale du mouvement de déplacement (la durée pendant laquelle toutes les images du déplacement s'affichent) : |
- | * Ajouter un objet [[Bloc]] au Promeneur : | + | <code declick> |
+ | unHéros.définirDuréeMouvement(500) | ||
+ | </code> | ||
+ | |||
+ | {{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 : | ||
- | <code tangara> | + | <code declick> |
- | unPromeneur.ajouterBloc(unBloc) | + | unPersonnage.définirDuréeArrêt(1200) |
</code> | </code> | ||
- | {{information.png}} Lorsque le Promeneur est associé à un objet Bloc, il ne peut pas circuler sur les zones non transparentes de ce Bloc. | + | {{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 : | ||
+ | |||
+ | <code declick> | ||
+ | unPersonnage.ajouterDécor(unDécor) | ||
+ | </code> | ||
+ | |||
+ | {{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]] : | * * Ne plus associer cet objet à des objets [[objet:bloc|Blocs]] : | ||
* | * | ||
- | * unPromeneur.supprimerBlocs() | + | * unPersonnage.supprimerBlocs() |
* | * | ||
*/ | */ | ||
- | * Faire sauter l'objet Promeneur : | + | ===== 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]]) : | ||
- | <code tangara> | + | <code declick> |
- | unPromeneur.sauter() | + | unHéros.peutAttraper(unObjet) |
</code> | </code> | ||
- | {{information.png |}} Cette action ne fonctionne que quand le Promeneur est soumis à la gravité (voir l'action peutTomber). Le Promeneur ne pourra sauter que s'il repose sur un obstacle. | + | {{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. |
- | * Définir la vitesse du saut : | + | * Ajouter une commande à exécuter lorsque l'objet Héros attrape un objet : |
- | <code tangara> | + | <code declick> |
- | unPromeneur.définirVitesseSaut(100) | + | unHéros.siAttrape(unObjet, "commande") |
</code> | </code> | ||
- | {{information.png |}} La valeur par défaut de cette vitesse est de 100. | + | {{information.png |}} Cette commande est en fait un raccourci pour les deux commandes suivantes : |
+ | <code declick> | ||
+ | unHéros.peutAttraper(unObjet) | ||
+ | unHéros.siCollisionAvec(unObjet, "commande") | ||
+ | </code> | ||
- | ===== Gestion des événements ===== | + | ===== Modification de l'apparence ===== |
- | Un objet Promeneur gère les mêmes événements qu'un objet [[Animation#gestion_des_evenements|Animation]]. | + | 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) : | ||
+ | |||
+ | <code declick> | ||
+ | unHéros.ajouterImage("image1.png") | ||
+ | unHéros.ajouterImage("image2.png") | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | {{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 : | ||
+ | |||
+ | <code declick> | ||
+ | unHéros.ajouterImage("image1.png", "avancer") | ||
+ | unHéros.ajouterImage("image2.png", "avancer") | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | * Ajouter des images qui seront affichées en séquence lorsque le Héros recule : | ||
+ | |||
+ | <code declick> | ||
+ | unHéros.ajouterImage("image1.png", "reculer") | ||
+ | unHéros.ajouterImage("image2.png", "reculer") | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | |||
+ | * Ajouter des images qui seront affichées en séquence lorsque le Héros est à l'arrêt : | ||
+ | |||
+ | <code declick> | ||
+ | unHéros.ajouterImage("image1.png", "arrêt") | ||
+ | unHéros.ajouterImage("image2.png", "arrêt") | ||
+ | ... | ||
+ | </code> | ||
- | /* | ||
- | *===== Zone de collision ===== | ||
- | * | ||
- | *Un objet Promeneur a une zone de collision semblable à celle d'un objet [[Animation]]. C'est en particulier | ||
- | *cette zone qui détermine la collision avec les objets [[objet:bloc|Blocs]]. Cependant, les zones de collision | ||
- | * elliptiques ne sont pas supportée : c'est le rectangle correspondant à l'ellipse qui sera utilisé pour détecter | ||
- | *les collisions avec les Blocs. | ||
- | * | ||
- | *[[Animation#zone_de_collision|Voir les actions relatives à la zone de collision]]. | ||
- | */ |