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:animation [2015/01/23 13:22] admin [Exécuter des commandes] |
objets:animation [2019/03/13 22:16] (Version actuelle) admin [Position et taille] |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
* Créer un objet Animation : | * Créer un objet Animation : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation = new Animation() | + | uneAnimation = new Animation() |
</code> | </code> | ||
* Créer un objet Animation en chargeant une image depuis un fichier : | * Créer un objet Animation en chargeant une image depuis un fichier : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation = new Animation("fichier.png") | + | uneAnimation = new Animation("fichier.png") |
</code> | </code> | ||
Ligne 25: | Ligne 25: | ||
* Placer l’Animation : | * Placer l’Animation : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.définirPosition(300,200) | + | uneAnimation.définirPosition(300,200) |
- | uneAnimation.définirPositionCentre(300,200) | + | uneAnimation.définirPositionCentre(300,200) |
</code> | </code> | ||
/* | /* | ||
- | * uneAnimation.définirCoordonnéeX(300); | + | *uneAnimation.définirCoordonnéeX(300) |
- | * uneAnimation.définirCoordonnéeY(200); | + | *uneAnimation.définirCoordonnéeY(200) |
*/ | */ | ||
- | /* | ||
- | * * Récupérer les coordonnées de l’Animation : | ||
- | * | ||
- | * uneAnimation.récupérerCoordonnéeX(); | ||
- | * uneAnimation.récupérerCoordonnéeY(); | ||
- | */ | ||
+ | * Récupérer les coordonnées de l’Animation : | ||
+ | <code declick> | ||
+ | uneAnimation.récupérerCoordonnéeX() | ||
+ | uneAnimation.récupérerCoordonnéeY() | ||
+ | </code> | ||
/* | /* | ||
* * Changer la taille de l’Animation : | * * Changer la taille de l’Animation : | ||
* | * | ||
- | * uneAnimation.définirHauteur(300); | + | *uneAnimation.définirHauteur(300); |
- | * uneAnimation.définirLargeur(400); | + | *uneAnimation.définirLargeur(400); |
* | * | ||
* * Récupérer la taille de l'Animation : | * * Récupérer la taille de l'Animation : | ||
* | * | ||
- | * uneAnimation.récupérerHauteur(); | + | *uneAnimation.récupérerHauteur(); |
- | * uneAnimation.récupérerLargeur(); | + | *uneAnimation.récupérerLargeur(); |
*/ | */ | ||
* Montrer / Cacher l’animation : | * Montrer / Cacher l’animation : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.montrer() | + | uneAnimation.montrer() |
- | uneAnimation.cacher() | + | uneAnimation.cacher() |
</code> | </code> | ||
Ligne 65: | Ligne 64: | ||
* Ajouter une image : | * Ajouter une image : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.ajouterImage("fichier.png") | + | uneAnimation.ajouterImage("fichier.png") |
</code> | </code> | ||
* Ajouter une image en l'assignant à un ensemble d'images : | * Ajouter une image en l'assignant à un ensemble d'images : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.ajouterImage("fichier.png", "ensemble") | + | uneAnimation.ajouterImage("fichier.png", "ensemble") |
</code> | </code> | ||
* Supprimer une des images : | * Supprimer une des images : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.supprimerImage("fichier.png") | + | uneAnimation.supprimerImage("fichier.png") |
</code> | </code> | ||
* Supprimer les images d'un ensemble d'images : | * Supprimer les images d'un ensemble d'images : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.supprimerImages("ensemble") | + | uneAnimation.supprimerImages("ensemble") |
</code> | </code> | ||
Ligne 90: | Ligne 89: | ||
* Afficher une des images : | * Afficher une des images : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.afficherImage("fichier.png") | + | uneAnimation.afficherImage("fichier.png") |
</code> | </code> | ||
Ligne 98: | Ligne 97: | ||
* Afficher l’image suivante / l'image précédente : | * Afficher l’image suivante / l'image précédente : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.afficherImageSuivante() | + | uneAnimation.afficherImageSuivante() |
- | uneAnimation.afficherImagePrécédente() | + | uneAnimation.afficherImagePrécédente() |
</code> | </code> | ||
* Afficher l’image suivante / l'image précédente d'un ensemble d'images : | * Afficher l’image suivante / l'image précédente d'un ensemble d'images : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.afficherImageSuivante("ensemble") | + | uneAnimation.afficherImageSuivante("ensemble") |
- | uneAnimation.afficherImagePrécédente("ensemble") | + | uneAnimation.afficherImagePrécédente("ensemble") |
</code> | </code> | ||
Ligne 114: | Ligne 113: | ||
* dernière image provoquera l'affichage de la première image : | * dernière image provoquera l'affichage de la première image : | ||
* | * | ||
- | * uneAnimation.bouclerImages(true) | + | *uneAnimation.bouclerImages(true) |
* | * | ||
* * Ne pas << boucler >> les images : | * * Ne pas << boucler >> les images : | ||
* | * | ||
- | * uneAnimation.bouclerImages(false) | + | *uneAnimation.bouclerImages(false) |
*/ | */ | ||
Ligne 125: | Ligne 124: | ||
* * Récupérer le nom de l'image affichée : | * * Récupérer le nom de l'image affichée : | ||
* | * | ||
- | * uneAnimation.récupérerNomImage() | + | *uneAnimation.récupérerNomImage() |
* | * | ||
*/ | */ | ||
Ligne 131: | Ligne 130: | ||
* Rendre une couleur transparente : | * Rendre une couleur transparente : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.rendreTransparent("couleur") | + | uneAnimation.rendreTransparent("couleur") |
</code> | </code> | ||
- | {{couleurs.png}} | + | {{ :objets:couleurs.png |}} |
/* | /* | ||
Ligne 141: | Ligne 140: | ||
* * Définir un niveau de transparence pour toutes les couleurs : | * * Définir un niveau de transparence pour toutes les couleurs : | ||
* | * | ||
- | * uneAnimation.définirTransparence(50) | + | *uneAnimation.définirTransparence(50) |
* | * | ||
* {{:objet:information.png |}}le niveau de transparence est un chiffre compris entre 0 (visible) | * {{:objet:information.png |}}le niveau de transparence est un chiffre compris entre 0 (visible) | ||
Ligne 151: | Ligne 150: | ||
* Faire bouger l’Animation : | * Faire bouger l’Animation : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.avancer(50) | + | uneAnimation.avancer(50) |
- | uneAnimation.reculer(50) | + | uneAnimation.reculer(50) |
- | uneAnimation.monter(50) | + | uneAnimation.monter(50) |
- | uneAnimation.descendre(50) | + | uneAnimation.descendre(50) |
- | uneAnimation.allerA(0,0) | + | uneAnimation.allerA(0,0) |
</code> | </code> | ||
* Faire bouger l’Animation sans s’arrêter : | * Faire bouger l’Animation sans s’arrêter : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.avancerToujours() | + | uneAnimation.avancer() |
- | uneAnimation.reculerToujours() | + | uneAnimation.reculer() |
- | uneAnimation.monterToujours() | + | uneAnimation.monter() |
- | uneAnimation.descendreToujours() | + | uneAnimation.descendre() |
+ | </code> | ||
+ | |||
+ | ou | ||
+ | |||
+ | <code declick> | ||
+ | uneAnimation.avancerToujours() | ||
+ | uneAnimation.reculerToujours() | ||
+ | uneAnimation.monterToujours() | ||
+ | uneAnimation.descendreToujours() | ||
</code> | </code> | ||
* Arrêter l’Animation : | * Arrêter l’Animation : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.arrêter() | + | uneAnimation.arrêter() |
</code> | </code> | ||
Ligne 177: | Ligne 185: | ||
* * Suspendre le mouvement de l’Animation : | * * Suspendre le mouvement de l’Animation : | ||
* | * | ||
- | * uneAnimation.suspendre(); | + | *uneAnimation.suspendre(); |
* | * | ||
* * Reprendre le mouvement de l’Animation : | * * Reprendre le mouvement de l’Animation : | ||
* | * | ||
- | * uneAnimation.reprendre(); | + | *uneAnimation.reprendre(); |
*/ | */ | ||
* Changer la vitesse : | * Changer la vitesse : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.définirVitesse(200) | + | uneAnimation.définirVitesse(100) |
</code> | </code> | ||
- | {{information.png}} la vitesse par défaut est de 200. Une vitesse de 0 rend l'Animation immobile. | + | {{information.png}} la vitesse par défaut est de 100. Une vitesse de 0 rend l'Animation immobile. |
/* | /* | ||
* * Suivre la souris : | * * Suivre la souris : | ||
* | * | ||
- | * uneAnimation.suivreSouris(true) | + | *uneAnimation.suivreSouris(true) |
* | * | ||
* * Ne pas suivre la souris : | * * Ne pas suivre la souris : | ||
* | * | ||
- | * uneAnimation.suivreSouris(false) | + | *uneAnimation.suivreSouris(false) |
* | * | ||
*{{:objet:information.png |}}lorsqu'une Animation suit la souris, il suffit de cliquer dessus pour la déplacer. | *{{:objet:information.png |}}lorsqu'une Animation suit la souris, il suffit de cliquer dessus pour la déplacer. | ||
Ligne 207: | Ligne 215: | ||
* * Récupérer la direction de l’objet Animation : | * * Récupérer la direction de l’objet Animation : | ||
* | * | ||
- | * uneAnimation.récupérerDirection() | + | *uneAnimation.récupérerDirection() |
* | * | ||
*{{:objet:information.png |}}Cette action renvoie un texte pouvant être : << haut >>, << bas >>, << droite >>, | *{{:objet:information.png |}}Cette action renvoie un texte pouvant être : << haut >>, << bas >>, << droite >>, | ||
Ligne 216: | Ligne 224: | ||
* Supprimer l’objet Animation : | * Supprimer l’objet Animation : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.supprimer() | + | uneAnimation.supprimer() |
</code> | </code> | ||
+ | |||
+ | /* | ||
+ | === Rotations === | ||
+ | |||
+ | * tourner | ||
+ | {{ :creer:sans_titre.gif?nolink |}} | ||
+ | */ | ||
+ | |||
===== Gestion des événements ===== | ===== Gestion des événements ===== | ||
Ligne 244: | Ligne 260: | ||
* Pour chaque collision, on peut dire à l'objet Animation d'exécuter des commandes : | * Pour chaque collision, on peut dire à l'objet Animation d'exécuter des commandes : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.siCollision("commande") | + | uneAnimation.siCollision("commande") |
</code> | </code> | ||
* On peut dire à l'objet Animation de n'exécuter des commandes que s'il rencontre un objet particulier, grâce à l'action : | * On peut dire à l'objet Animation de n'exécuter des commandes que s'il rencontre un objet particulier, grâce à l'action : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.siCollision("commande", objet) | + | uneAnimation.siCollision("commande", objet) |
</code> | </code> | ||
ou | ou | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.siCollisionAvec(objet, "commande") | + | uneAnimation.siCollisionAvec(objet, "commande") |
</code> | </code> | ||
* On peut également dire à l'objet Animation de n'exécuter des commandes que s'il rencontre une catégorie d'Animations : | * On peut également dire à l'objet Animation de n'exécuter des commandes que s'il rencontre une catégorie d'Animations : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.siCollision("commande", "catégorie") | + | uneAnimation.siCollision("commande", "catégorie") |
</code> | </code> | ||
ou | ou | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.siCollisionAvec("catégorie", "commande") | + | uneAnimation.siCollisionAvec("catégorie", "commande") |
</code> | </code> | ||
* Définir la catégorie d'une Animation : | * Définir la catégorie d'une Animation : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.définirCatégorie("catégorie") | + | uneAnimation.définirCatégorie("catégorie") |
</code> | </code> | ||
Si on fait plusieurs fois appel à une des actions ci-dessus, les commandes s'ajoutent. Par exemple : | Si on fait plusieurs fois appel à une des actions ci-dessus, les commandes s'ajoutent. Par exemple : | ||
- | <code tangara> | + | <code declick> |
- | uneAnimation.siCollision("commande1"); | + | uneAnimation.siCollision("commande1") |
- | uneAnimation.siCollision("commande2"); | + | uneAnimation.siCollision("commande2") |
</code> | </code> | ||
L'objet Animation exécutera << commande1 >> puis << commande2 >> dès qu'il détecte une collision. | L'objet Animation exécutera << commande1 >> puis << commande2 >> dès qu'il détecte une collision. | ||
+ | |||
+ | * Désactiver / Réactiver la détection des collisions : | ||
+ | |||
+ | <code declick> | ||
+ | uneAnimation.surveillerCollisions(false) | ||
+ | uneAnimation.surveillerCollisions(true) | ||
+ | </code> | ||
+ | |||
+ | {{information.png}} par défaut, la détection des collisions est activée. | ||
/* | /* | ||
Ligne 289: | Ligne 314: | ||
*Pour dire à un objet Animation d'annuler l'exécution de commandes relatives à un événement, on utilise l'action : | *Pour dire à un objet Animation d'annuler l'exécution de commandes relatives à un événement, on utilise l'action : | ||
* | * | ||
- | * uneAnimation.annulerCommandeEvénement("événement") | + | *uneAnimation.annulerCommandeEvénement("événement") |
* | * | ||
*<< événement >> peut être égal à : | *<< événement >> peut être égal à : | ||
Ligne 314: | Ligne 339: | ||
* * Afficher les commandes dans la console : | * * Afficher les commandes dans la console : | ||
* | * | ||
- | * uneAnimation.afficherCommandes(true) | + | *uneAnimation.afficherCommandes(true) |
* | * | ||
* * Ne pas afficher les commandes dans la console : | * * Ne pas afficher les commandes dans la console : | ||
* | * | ||
- | * uneAnimation.afficherCommandes(false) | + | *uneAnimation.afficherCommandes(false) |
*/ | */ | ||
/*==== Les témoins ==== | /*==== Les témoins ==== | ||
Ligne 327: | Ligne 352: | ||
* | * | ||
* unTémoin = new Témoin(); | * unTémoin = new Témoin(); | ||
- | * uneAnimation.siChangementImage("commande", unTémoin); | + | *uneAnimation.siChangementImage("commande", unTémoin); |
- | * uneAnimation.siClic("commande", unTémoin); | + | *uneAnimation.siClic("commande", unTémoin); |
- | * uneAnimation.siMouvement("commande", unTémoin); | + | *uneAnimation.siMouvement("commande", unTémoin); |
- | * uneAnimation.siChangementDirection("commande", unTémoin); | + | *uneAnimation.siChangementDirection("commande", unTémoin); |
- | * uneAnimation.siArrêt("commande", unTémoin); | + | *uneAnimation.siArrêt("commande", unTémoin); |
- | * uneAnimation.siCollision("commande", unTémoin); | + | *uneAnimation.siCollision("commande", unTémoin); |
- | * uneAnimation.siCollisionAvec(objet, "commande", unTémoin); | + | *uneAnimation.siCollisionAvec(objet, "commande", unTémoin); |
- | * uneAnimation.siCollisionAvec(liste, "commande", unTémoin); | + | *uneAnimation.siCollisionAvec(liste, "commande", unTémoin); |
- | * uneAnimation.siHorsEcran("commande", unTémoin); | + | *uneAnimation.siHorsEcran("commande", unTémoin); |
* | * | ||
*Pour les événements de Collision, de Changement de direction ou de Changement d'image, on peut aussi utiliser | *Pour les événements de Collision, de Changement de direction ou de Changement d'image, on peut aussi utiliser | ||
Ligne 347: | Ligne 372: | ||
* * Récupérer l'objet ayant provoqué une collision : | * * Récupérer l'objet ayant provoqué une collision : | ||
* | * | ||
- | * uneAnimation.récupérerObjetRencontré() | + | *uneAnimation.récupérerObjetRencontré() |
* | * | ||
* * Récupérer les coordonnées de la collision : | * * Récupérer les coordonnées de la collision : | ||
* | * | ||
- | * uneAnimation.récupérerCoordonnéeCollisionX() | + | *uneAnimation.récupérerCoordonnéeCollisionX() |
- | * uneAnimation.récupérerCoordonnéeCollisionY() | + | *uneAnimation.récupérerCoordonnéeCollisionY() |
* | * | ||
* * Récupérer la direction précédente, en cas de changement de direction : | * * Récupérer la direction précédente, en cas de changement de direction : | ||
* | * | ||
- | * uneAnimation.récupérerDirectionPrécédente() | + | *uneAnimation.récupérerDirectionPrécédente() |
* | * | ||
*===== Zone de collision ===== | *===== Zone de collision ===== | ||
Ligne 365: | Ligne 390: | ||
* * Définir une zone de collision à partir de marges : | * * Définir une zone de collision à partir de marges : | ||
* | * | ||
- | * uneAnimation.définirMarges(5,10,20,30); | + | *uneAnimation.définirMarges(5,10,20,30); |
* | * | ||
*La zone de collision sera un rectangle dont le bord haut sera à 5 pixels du haut de l'image, le bord bas sera à | *La zone de collision sera un rectangle dont le bord haut sera à 5 pixels du haut de l'image, le bord bas sera à | ||
Ligne 373: | Ligne 398: | ||
* * Afficher les marges : | * * Afficher les marges : | ||
* | * | ||
- | * uneAnimation.afficherMarges(true); | + | *uneAnimation.afficherMarges(true); |
* | * | ||
* * Cacher les marges : | * * Cacher les marges : | ||
* | * | ||
- | * uneAnimation.afficherMarges(false); | + | *uneAnimation.afficherMarges(false); |
* | * | ||
* * Définir une zone de collision rectangulaire : | * * Définir une zone de collision rectangulaire : | ||
* | * | ||
- | * uneAnimation.définirRectangleCollision(0,0,100,200) | + | *uneAnimation.définirRectangleCollision(0,0,100,200) |
* | * | ||
*La zone de collision sera formée par un rectangle dont le sommet est situé au point de coordonnées (0,0), dont | *La zone de collision sera formée par un rectangle dont le sommet est situé au point de coordonnées (0,0), dont | ||
Ligne 389: | Ligne 414: | ||
* * Définir une zone de collision elliptique : | * * Définir une zone de collision elliptique : | ||
* | * | ||
- | * uneAnimation.définirEllipseCollision(150,250,100,200) | + | *uneAnimation.définirEllipseCollision(150,250,100,200) |
* | * | ||
*La zone de collision sera formée par une ellipse dont le centre est situé au point de coordonnées (150,250), | *La zone de collision sera formée par une ellipse dont le centre est situé au point de coordonnées (150,250), | ||
Ligne 397: | Ligne 422: | ||
* * Afficher la zone de collision : | * * Afficher la zone de collision : | ||
* | * | ||
- | * uneAnimation.afficherZoneCollision(true) | + | *uneAnimation.afficherZoneCollision(true) |
* | * | ||
*{{:objet:information.png |}}Cette action est équivalente à **uneAnimation.afficherMarges(true)**. | *{{:objet:information.png |}}Cette action est équivalente à **uneAnimation.afficherMarges(true)**. | ||
Ligne 403: | Ligne 428: | ||
* * Cacher la zone de collision : | * * Cacher la zone de collision : | ||
* | * | ||
- | * uneAnimation.afficherZoneCollision(false) | + | *uneAnimation.afficherZoneCollision(false) |
* | * | ||
*{{:objet:information.png |}}Cette action est équivalente à **uneAnimation.afficherMarges(false)**. | *{{:objet:information.png |}}Cette action est équivalente à **uneAnimation.afficherMarges(false)**. | ||
Ligne 410: | Ligne 435: | ||
*collision : | *collision : | ||
* | * | ||
- | * uneAnimation.récupérerObjetsChevauchés(uneListe) | + | *uneAnimation.récupérerObjetsChevauchés(uneListe) |
* | * | ||
*Cette action prend en paramètre un objet [[Liste]] qui va être rempli avec la liste des objets détectés. | *Cette action prend en paramètre un objet [[Liste]] qui va être rempli avec la liste des objets détectés. | ||
*/ | */ |