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:heros [2015/01/26 11:53] admin | objets:heros [2019/03/13 21:33] (Version actuelle) admin [Modification de l'apparence] | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Héros ====== | ====== Héros ====== | ||
| - | L'objet Héros 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 mouvoir dans des objets [[Décor]]. | + | 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 }} | {{ :objets:heros.png }} | ||
| Ligne 9: | Ligne 9: | ||
| * Créer un objet Héros : | * Créer un objet Héros : | ||
| - | <code tangara> | + | <code declick> | 
| - | unHéros = new Héros() | + | unHéros = new Héros() | 
| </code> | </code> | ||
| * Créer un objet Héros en chargeant une image depuis un fichier : | * Créer un objet Héros en chargeant une image depuis un fichier : | ||
| - | <code tangara> | + | <code declick> | 
| - | unHéros = new Héros("fichier.png") | + | unHéros = new Héros("fichier.png") | 
| </code> | </code> | ||
| Ligne 23: | Ligne 23: | ||
| ===== Actions ===== | ===== Actions ===== | ||
| - | ==== Actions des objets Promeneur ==== | + | ==== Actions des objets Personnage ==== | 
| - | Les objets Héros sont des objets Promeneur particuliers : ils possèdent donc déjà [[promeneur#Actions|toutes les actions des objets Promeneur]]. | + | 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 ==== | ||
| Ligne 31: | Ligne 31: | ||
| * Changer la représentation du Héros : | * Changer la représentation du Héros : | ||
| - | <code tangara> | + | <code declick> | 
| - | unHéros.changer("garçon") | + | unHéros.changer("garçon") | 
| </code> | </code> | ||
| Ligne 39: | Ligne 39: | ||
| * Arrêter le mouvement automatique du Héros lorsqu'il se déplace : | * Arrêter le mouvement automatique du Héros lorsqu'il se déplace : | ||
| - | <code tangara> | + | <code declick> | 
| - | unHéros.arrêterMouvement() | + | unHéros.arrêterMouvement() | 
| </code> | </code> | ||
| * Démarrer le mouvement automatique du Héros lorsqu'il se déplace : | * Démarrer le mouvement automatique du Héros lorsqu'il se déplace : | ||
| - | <code tangara> | + | <code declick> | 
| - | unHéros.démarrerMouvement() | + | unHéros.démarrerMouvement() | 
| </code> | </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) : | * 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> | 
| - | unHéros.définirDuréeMouvement(500) | + | unHéros.définirDuréeMouvement(500) | 
| </code> | </code> | ||
| Ligne 59: | Ligne 59: | ||
| * Définir la durée totale de l'animation de l'objet Héros lorsqu'il est à l'arrêt : | * 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.définirDuréeArrêt(1200) | + | unPersonnage.définirDuréeArrêt(1200) | 
| </code> | </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. | {{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 [[Bloc]] au Promeneur : | + | * Ajouter un objet [[Décor]] au Personnage : | 
| - | <code tangara> | + | <code declick> | 
| - | unPromeneur.ajouterBloc(unBloc) | + | unPersonnage.ajouterDécor(unDécor) | 
| </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}} 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]]. | ||
| - | */ | ||