[Squeak-fr] Etoys: collisions

Dreyfuss Pierre-André (EDU) pierre-andre.dreyfuss at edu.ge.ch
Jeu 14 Oct 17:38:42 CEST 2004


 



 Bonjour,
un projet démo sur les collisions d'objets qui devrait aider les
amateurs de billard, de space invaders ou autres projets avec collision.

Du point de vue programmation, cet un bon exemple d'utilisation du
polymorphisme avec les E-Toy.
Le principe : chaque objet a une méthode moi avec laquelle il s'annonce
s'il a une collision avec un objet donné.

On demande soit à tous les objets d'un terrain de jeu (playfield)
d'exécuter la méthode moi et on retrouve dans une variable soit l'objet
point (dot) si aucun touche l'objet donné. soit le dernier objet à
s'être annoncé. (on pourrait améliorer le projet en créant la liste de
ceux qui touchent dans un récipient). Mais si un seul objet est sensé
toucher celà suffit.

On obtient non seulement le test de collision mais aussi avec qui.

En utilisant le polymorphisme, chaque objet qui touche peut mettre à
vrai une variable particulière, dans ce cas on peut tester selectivement
les clones de différents objets.


Au lieu de lancer les ecripts 'moi' de tous les objets d'un terrain de
jeu ou d'un récipient (Holder), on peut  utiliser la commande dire à
tous (tell all simblings) Dans ce cas ne répondent que les clones d'un
objet.(Ne pas oublier d'exécuter le script pour l'objet lui-mêmme,
tous les clones signifie tous les clones sauf l'objet) .


Amitiés

Le projet est trop gros pour passer en pièce jointe,
il est sur squeakland-bss sous le nom collisions.



Plus d'informations sur la liste de diffusion Squeak-fr