Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1465 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Fonction hittest avec gestion de la transparence.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction hittest avec gestion de la transparence.

n°1270312
jcdc
Posté le 19-12-2005 à 21:58:44  profilanswer
 

Bonsoir tout le monde. Voila, je vous explique mon pb. je suis en train de programmer un jeu de type astéroïdes. Je gere donc mes collisions entre les missiles et les météorites avec la fonction hitTest. J'ai bien compris qu'en faisant le test entre les 2 clips, je ne peut pas gérer la transparence. J'ai donc décider de gérer mes colisions avec des coordonnées. Je trouve cela moyen, mais j'ai pas trop le choix.
 
Voici ma question : Puis-je gérer une seule fonction hitTest pour tester la colision avec plusieurs points, ou dois-je faire une fonction hitTest par points?
 
Sinon, quelqu'un ne voit d'autres solution pour gérer mes colision avec la transparence?
 
Merci et bonne soirée à tous.

mood
Publicité
Posté le 19-12-2005 à 21:58:44  profilanswer
 

n°1270389
Mr Mala
Posté le 19-12-2005 à 23:55:12  profilanswer
 


Mmmmh tes clips sont/contiennent des images importées avec transparence ( gif ou png ) ?
( et donc du coup, le clip est considéré comme rectangle )

n°1270411
jcdc
Posté le 20-12-2005 à 00:27:47  profilanswer
 

J'utilise effectivement des png dessiner sous fireworks avec des transparences. Et des queje les converties en clips, j'obtiens des rectangles.

n°1270415
Mr Mala
Posté le 20-12-2005 à 00:32:48  profilanswer
 

Mmmmh quel Flash ? ...  
Si c'est le 8, il y a une issue possible ... sinon, c'est pas gagné ! ;)

n°1270439
jcdc
Posté le 20-12-2005 à 02:19:52  profilanswer
 

Désolé pour le retard.
Je travaille sous flash 8. J'éspère que ta solution est intéressante car je l'attends avec impatience.

n°1270442
Mr Mala
Posté le 20-12-2005 à 03:41:15  profilanswer
 

'tain non chuis con, faut pas nécessairement Flash8 ! :D
 
Bon, j'imagine que tu as créé des MovieClips dans lesquels tu as "tiré" tes bitmaps ?
Tu cliques sur la bitmap, tu fais 'ctrl-B' ( = break apart ).
En suite, tu choisis l'outil "Lasso" ( L ) et dans ses propriétés, tu tapes la tolérance ( threshold ) à 0 et le mode d'adouci en "Pixels".
Tu cliques alors sur la zone de la bitmap qui est sensée être transparente puis "delete" ...
 
Je viens de tester, ça le fait bien; il ne te reste plus que les pixels "actifs" de la bitmap d'origine ...
 
Le seul truc, c'est que le hitTest DOIT être de la forme "complète", c-à-d:
clip.hitTest(x,y,true);
où clip est l'objet principal et (x,y) = la position, par exemple, du missile ..
 
Si tu veux voir ce que ça donne:
http://www.rylax.be/temp/hitTest.html
http://www.rylax.be/temp/hitTest.fla
 
Tiens-moi au courant ...
 
Edit: bon il y aurait peut-être moyen de faire plus "propre" avec le nouvel objet BitmapData de Flash 8 ... mais bon ... si cette méthode te convient ....

Message cité 1 fois
Message édité par Mr Mala le 20-12-2005 à 03:44:27
n°1270604
jcdc
Posté le 20-12-2005 à 12:07:55  profilanswer
 

dsl, mais je crois que l'on c mal compris. Je n'ai pas de pb concernant les transparence. Le soucis ce fait au niveau du HitTest. Cela m'emebete bcp de faire le test avec un seul point. Je recherchait sois une méthode pour ne plus passer par les coordonnées, ou dans le pire des cas, faire une fonction hitTest mais avec plusieurs points.
dsl de ne pas avoir été très clair. Par contre, elle est sympa ta méthode, je pense que je l'utiliserais.


Message édité par jcdc le 20-12-2005 à 12:09:50
n°1271449
jcdc
Posté le 21-12-2005 à 18:09:09  profilanswer
 

Personne ne pourrais m'expliquer comment utiliser le hitTest avec plusieurs coordonnées?

n°1271486
mechkurt
Posté le 21-12-2005 à 18:45:40  profilanswer
 

pas sue de comprendre quel est le PB mais quand je veux tester une collision autrment que sur les contours d'un mc, j'inclue des  petits sousclip et je fait une une boucle pour tester les collisions avec ces sous clips...
 
je sais pas si ca peut aider...


---------------
D3
n°1271553
jcdc
Posté le 21-12-2005 à 21:19:40  profilanswer
 

Y a aussi cette solution, c'est vrai que j'y avais pas penser. Mais je rechercher le moyen de mettre plusieurs points pour eviter de multiplier les hitTest. Mais merci pour l'astuce, je pense que c ce que je vais faire
 
Encore merci.

mood
Publicité
Posté le 21-12-2005 à 21:19:40  profilanswer
 

n°1329410
romdr
Posté le 21-03-2006 à 12:31:54  profilanswer
 

Mr Mala a écrit :

'tain non chuis con, faut pas nécessairement Flash8 ! :D
 
Bon, j'imagine que tu as créé des MovieClips dans lesquels tu as "tiré" tes bitmaps ?
Tu cliques sur la bitmap, tu fais 'ctrl-B' ( = break apart ).
En suite, tu choisis l'outil "Lasso" ( L ) et dans ses propriétés, tu tapes la tolérance ( threshold ) à 0 et le mode d'adouci en "Pixels".
Tu cliques alors sur la zone de la bitmap qui est sensée être transparente puis "delete" ...
 
Je viens de tester, ça le fait bien; il ne te reste plus que les pixels "actifs" de la bitmap d'origine ...
 
Le seul truc, c'est que le hitTest DOIT être de la forme "complète", c-à-d:
clip.hitTest(x,y,true);
où clip est l'objet principal et (x,y) = la position, par exemple, du missile ..
 
Si tu veux voir ce que ça donne:
http://www.rylax.be/temp/hitTest.html
http://www.rylax.be/temp/hitTest.fla
 
Tiens-moi au courant ...
 
Edit: bon il y aurait peut-être moyen de faire plus "propre" avec le nouvel objet BitmapData de Flash 8 ... mais bon ... si cette méthode te convient ....


 
 
AHAH GENIAL TON SYSTEME!!!!!!!

n°1330012
Mr Mala
Posté le 22-03-2006 à 10:47:49  profilanswer
 

'tain ! 3 mois après, tu as de la chance que ça se trouve toujours là !!! :heink:
 

n°1508775
jio
to shoot or not to shoot...
Posté le 30-01-2007 à 17:49:41  profilanswer
 

plus d'1 an, et c'est toujours là :D
 
merci :jap:


---------------
[flickr] - [Diaporama] - tilt

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Fonction hittest avec gestion de la transparence.

 

Sujets relatifs
problème pour passer un flux en argument d'une fonctionSite marchand avec panier, gestion des stocks avec base de donnée...
Faire des axes pour une fonction mathématique[C/C++] Fonction "crypt" sous windows ? HELP
Une fonction peut-elle renvoyer son nom ?Faire descendre le footer en fonction de l'info à afficher
Fonction pour comparer des chiffres ?Programmmer la fonction Cat en C
[JavaScript?]Fonction "Ctrl +" & "Ctrl -" du navigateur[Php - regex] fonction ereg()
Plus de sujets relatifs à : Fonction hittest avec gestion de la transparence.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR