Outils pour utilisateurs

Outils du site


objets:animation

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 15:00]
admin [Mouvements]
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.avancer() +uneAnimation.avancer() 
-  uneAnimation.reculer() +uneAnimation.reculer() 
-  uneAnimation.monter() +uneAnimation.monter() 
-  uneAnimation.descendre()+uneAnimation.descendre()
 </​code>​ </​code>​
  
 ou ou
  
-<​code ​tangara+<​code ​declick
-  uneAnimation.avancerToujours() +uneAnimation.avancerToujours() 
-  uneAnimation.reculerToujours() +uneAnimation.reculerToujours() 
-  uneAnimation.monterToujours() +uneAnimation.monterToujours() 
-  uneAnimation.descendreToujours()+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 186: 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(100)+uneAnimation.définirVitesse(100)
 </​code>​ </​code>​
  
Ligne 204: Ligne 203:
  ​* ​ * 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 216: 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 225: 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 253: 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>​
  
Ligne 294: Ligne 301:
   * Désactiver / Réactiver la détection des collisions :    * Désactiver / Réactiver la détection des collisions : 
  
-<​code ​tangara+<​code ​declick
-  uneAnimation.surveillerCollisions(false) +uneAnimation.surveillerCollisions(false) 
-  uneAnimation.surveillerCollisions(true)+uneAnimation.surveillerCollisions(true)
 </​code>​ </​code>​
  
Ligne 307: 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 332: 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 345: 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 365: 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 383: 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 391: 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 407: 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 415: 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 421: 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 428: 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.
  */  */