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. |
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
![]()