Outils pour utilisateurs

Outils du site


objets:robot

Ceci est une ancienne révision du document !


Robot

Un objet Robot est un objet Héros qui possède un comportement particulier : il se déplace de case en case, peut détecter et ramasser des Items.

S'il est utilisé en même temps qu'un objet Maçon ou qu'un objet Labyrinthe, il les détecte automatiquement et se déplace dans le décor créé par ces objets.

Créer un objet Robot

  • Créer un objet Robot :
  bob = new Robot()

Actions

Actions des objets Héros

Les objets Robot sont des objets Héros particuliers : ils possèdent donc déjà toutes les actions des objets Héros.

Actions supplémentaires

Déplacements

  • Faire bouger le Robot :

Le robot se déplace de case en case. Contrairement aux objets Héros, les déplacements du Robot sont bloquants : les commandes suivantes ne sont exécutées qu'une fois le déplacement terminé.

  bob.avancer()
  bob.reculer()
  bob.monter()
  bob.descendre()
  • Faire bouger le Robot de plusieurs cases :
  bob.avancer(5)
  bob.reculer(5)
  bob.monter(5)
  bob.descendre(5)

Tests

  • Tester si le Robot est sur la sortie d'un Labyrinthe ou d'un décor construit par un Maçon :
  bob.estSurSortie()

cette commande renvoie true ou false. Elle peut être utilisée dans un test if.

Gestion des images

  • Ajouter une image :
  uneAnimation.ajouterImage("fichier.png")
  • Ajouter une image en l'assignant à un ensemble d'images :
  uneAnimation.ajouterImage("fichier.png", "ensemble")
  • Supprimer une des images :
  uneAnimation.supprimerImage("fichier.png")
  • Supprimer les images d'un ensemble d'images :
  uneAnimation.supprimerImages("ensemble")
  • Afficher une des images :
  uneAnimation.afficherImage("fichier.png")

L’objet Animation prend automatiquement la taille de l’image qu’il affiche.

  • Afficher l’image suivante / l'image précédente :
  uneAnimation.afficherImageSuivante()
  uneAnimation.afficherImagePrécédente()
  • Afficher l’image suivante / l'image précédente d'un ensemble d'images :
  uneAnimation.afficherImageSuivante("ensemble")
  uneAnimation.afficherImagePrécédente("ensemble")
  • Rendre une couleur transparente :
  uneAnimation.rendreTransparent("couleur")

Mouvements

  • Faire bouger l’Animation :
  uneAnimation.avancer(50)
  uneAnimation.reculer(50)
  uneAnimation.monter(50)
  uneAnimation.descendre(50)
  uneAnimation.allerA(0,0)
  • Faire bouger l’Animation sans s’arrêter :
  uneAnimation.avancer()
  uneAnimation.reculer()
  uneAnimation.monter()
  uneAnimation.descendre()

ou

  uneAnimation.avancerToujours()
  uneAnimation.reculerToujours()
  uneAnimation.monterToujours()
  uneAnimation.descendreToujours()
  • Arrêter l’Animation :
  uneAnimation.arrêter()
  • Changer la vitesse :
  uneAnimation.définirVitesse(100)

la vitesse par défaut est de 100. Une vitesse de 0 rend l'Animation immobile.

  • Supprimer l’objet Animation :
  uneAnimation.supprimer()

Gestion des événements

Un objet Animation peut surveiller les collisions qui se produisent avec d'autre objets Animation, Promeneur ou Héros.

Exécuter des commandes

  • Pour chaque collision, on peut dire à l'objet Animation d'exécuter des commandes :
  uneAnimation.siCollision("commande")
  • On peut dire à l'objet Animation de n'exécuter des commandes que s'il rencontre un objet particulier, grâce à l'action :
  uneAnimation.siCollision("commande", objet)

ou

  uneAnimation.siCollisionAvec(objet, "commande")
  • On peut également dire à l'objet Animation de n'exécuter des commandes que s'il rencontre une catégorie d'Animations :
  uneAnimation.siCollision("commande", "catégorie")

ou

  uneAnimation.siCollisionAvec("catégorie", "commande")
  • Définir la catégorie d'une Animation :
  uneAnimation.définirCatégorie("catégorie")

Si on fait plusieurs fois appel à une des actions ci-dessus, les commandes s'ajoutent. Par exemple :

  uneAnimation.siCollision("commande1")
  uneAnimation.siCollision("commande2")

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 :
  uneAnimation.surveillerCollisions(false)
  uneAnimation.surveillerCollisions(true)

par défaut, la détection des collisions est activée.