Draguez et rencontrez

Objectifs

Le code ActionScript MovieClip.hitTest()permet de tester la rencontre de deux clips. Utile dans les jeux ce test l'est aussi dans toutes les manipulations d'objets.

Scénario

Juste deux clips sur la scène, l'un est dragué par la souris, en cas de rencontre une alerte est donnée.

Mise en place de la scène

Deux calques et deux images par calque. Tout le code sera sur l'image 2 du calque prog.

Sur la scène deux occurrences de clip sont déposées.
L'une oc_boule, l'autre oc_bleu.

Le code ActionScript version non normalisée

_root.oc_boule.onPress = function() {
_root.oc_boule.startDrag(true);
};
_root.oc_boule.onRelease = function() {
_root.oc_boule.stopDrag();
};

Pour démarrer ou arrêter la drague du clip oc_boule.

Action Image > + > Classes intégrées > Animations > MovieClip > Méthode > StartDrag

if (_root.oc_boule.hitTest(_root.oc_bleu)) {
trace("touche");
}

Pour tester la rencontre.

Trace renvoie "touche dans une boite de dialogue ce qui est bien pratique pour mettre au point les animations.

Le fichier hittest.fla

 

Le code ActionScript version plus normalisée

Pour pouvoir utiliser les aides, il faut ajouter l'extension _mc aux clips. Le prefixe oc_ n'a aucun intéret.

_root.oc_boule_mc.onPress = function() {
_root.oc_boule_mc.startDrag(true);
};
_root.oc_boule_mc.onRelease = function() {
_root.oc_boule_mc.stopDrag();
};

Pour démarrer ou arrêter la drague du clip oc_boule.

Action Image > + > Classes intégrées > Animations > MovieClip > Méthode > StartDrag

if (_root.oc_boule_mc.hitTest(_root.oc_bleu_mc)) {
trace("touche");
this._alpha = 50;
} else {
this._alpha = 100;
}

Pour tester la rencontre.

Trace renvoie "touche dans une boite de dialogue ce qui est bien pratique pour mettre au point les animations. Lors de la rencontre la boule rouge devient un peu transparente.

Le fichier hittest1.fla corrigé version flash 8, le même fichier pour MX2004

Retour au menu page suivante