Trucsweb.com

Forum de discussion

 Forum « Flash et Shockwave » (archives)

Re: Enième pb de Collision ... hitTest(x, y , true) et hitArea

Envoyé: 7 mai 2004, 16h19 par toph


Salut ...

je ne donne pas une solution que j'ai testé (j'ai vraiment pas le temps, désolé) mais plutôt une piste à exploiter :

en fait quand tu utilises hittest, il y a deux modes : soit tester le chevauchement de deux clips, soit en testant une coordonnée x/y précise...

Il est dit dans l'aide pour la fonction hitTest :

" Usage 2 : évalue les cadres de délimitation de cible et de l'occurrence spécifiée et renvoie true s'ils se croisent ou se recouvrent en un point. "

donc à priori, tu ne dois pas pouvoir faire ça avec hitTest(cible), puisque cela ne prend en compte que les cadre de délimitations des clips utilisés ... mais tu peux toujours essayer d'utiliser hitTest(x, y, baliseDeForme) ...

Tu as un troisième paramètre (booléen) qui détermine si la détection de collision doit se faire sur le clip (le carré qui englobe tout le clip, y compris les éventuelles parties invisibles) ou uniquement sur ce qui se voit(dans ton cas = le contours précis de l'épuisette) ...

" Usage 1 : compare les coordonnées x et y avec la forme ou le cadre de délimitation de l'occurrence spécifiée, en fonction du paramètre baliseDeForme. Si baliseDeForme est défini sur true, seule la zone occupée actuellement par l'occurrence sur la scène est évaluée, et si x et y se recouvrent, une valeur true est renvoyée. Cela est utile pour déterminer si le clip se trouve dans une zone sensible spécifiée. "

il faut cependant que tu définisses une zone réactive avec hitArea pour que cela fonctionne bien:

à l'intérieur de ton clip "epuisette", tu vas sélectionner ton épuisette et la retransformer en clip que tu appeleras et instancieras "zone_reactive" ensuite tu pourrais écrire un truc qui ressemblerait à ça :

epuisette.hitArea = epuisette.zone_reactive;
// cela définit la zone réactive du clip epuisette
papillon.onEnterFrame = function() {
if (this._parent.epuisette.hitTest(this._x, this_y, true)) {
this._parent.etat = "true";
gotoAndPlay(5);
} else {
this._parent.etat = "false";
}
};

je n'ai pas testé (vraiment pas le temps) mais je serais curieux de savoir si ça fonctionne vraiment...
Donc tiens nous au courant...

Réfère toi à l'aide en cas d'explications pas très claires, tout y est bien expliqué quant à ces deux fonctions ...

A plus
toph'


Réponses

 sp spRe: Enième pb de Collision ... hitTest(x, y , true) et hitArea Zecnas8/5/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@