comment calculer la surface grattée ?

comment calculer la surface grattée ? - Flash/ActionScript - Programmation

Marsh Posté le 09-03-2008 à 15:53:08    

hello,
 
je souhaiterai rajouter une fonctionnalité à mon jeu de grattage, qui est de dévouvrir toute la zone, ou d'afficher un message lorsque l'internaute a gratté par exemple 80% de toute la zone ?
 
merci de votre aide
++

Reply

Marsh Posté le 09-03-2008 à 15:53:08   

Reply

Marsh Posté le 10-03-2008 à 05:27:11    

on(gratage>80%){
Display(message);
}
 
C'est pourtant facile ;)


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 10-03-2008 à 10:26:07    

c'est pas si simple que cela !
de plus çà marche pas

Reply

Marsh Posté le 10-03-2008 à 10:27:19    

voici mon code :
 
_root.gratter = false;
_root.compteur = 1;
_root.initialisation_clip = new Object();
_root.onMouseDown = function(){
 _root.gratter = true;
};
_root.onMouseUp = function(){
 _root.gratter = false;
};
 
_root.onMouseMove = function(){
 if(_root.gratter){
  _root.initialisation_clip._x = _root._xmouse;
  _root.initialisation_clip._y = _root._ymouse;
 
  _root.cache.attachMovie("zone","gratteur"+_root.compteur,_root.compteur, _root.initialisation_clip);
  _root.compteur++;
 }
 
};


Message édité par cbastien41 le 10-03-2008 à 10:27:33
Reply

Marsh Posté le 10-03-2008 à 10:32:46    

cbastien41 a écrit :

c'est pas si simple que cela !
de plus çà marche pas


 [:alvas]  
Ca me rappel cette blague des 2 meufs dans un resto, y'en a une qui dit : "C'est vraiment pas bon" et l'autre repond "Oui et en plus y'en a pas beaucoup"
 
Pour ton probleme, il n'y a pas de solution etant donnee qu'il faudrait pouvoir calculer la surface de la partie demaské ce qui n'est pas vraiment possible puisqu'elle est constitué de plein de clips ...


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 10-03-2008 à 10:58:35    

la solution serait de calculer le nombre de clip total, puis ceux que la souris a touché et faire un ratio, non ?

Reply

Marsh Posté le 10-03-2008 à 11:09:10    

Non car quand tu clic, tu sais combien de clip tu crees mais tu ne sais pas combien de surface tu as recouvert.


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 10-03-2008 à 12:03:28    

comment faire alors ?

Reply

Marsh Posté le 10-03-2008 à 19:24:22    

tu captures le masque dans un bitmapData du même format exact que l'image de fond, tu comptes le nombre de pixels opaques, et tu soustrais au nombre de pixels de l'image de fond.
 
ok, j'ai triché, j'ai réflechi.

Reply

Marsh Posté le 10-03-2008 à 20:51:03    

... disons que je ne suis pas un pro de flash, surtout de l'actionscript...
 
je vais regarder ce que je trouve sur cette commande
un exemple peut être ?

Reply

Marsh Posté le 10-03-2008 à 20:51:03   

Reply

Marsh Posté le 11-03-2008 à 02:54:56    

Oui dans l'aide y'en a plein ...

 

Antika > tricheur :o (bien joué, j'avais pas du tout pensé a ca, faudrait que j'utilise plus souvent cette classe :/ )


Message édité par Zedlefou le 11-03-2008 à 04:08:10

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 11-03-2008 à 09:10:02    

merci Antika, grace à toi j'ai trouvé la class, ainsi que des exemples d'utilisation sur un jeu de grattage
à moi d'intégrer tout cela dans mon dev
+

Reply

Marsh Posté le 11-03-2008 à 21:09:54    

@zedlefou : oui, c'est ultime. C'est particulièrement utile sous Flash8/AS2 pour remplacer des mc un peu complexes par un bitmap, bcp plus léger à animer. Flash8/AS2 est en effet particulièrement paresseux quand tu veux faire bouger des clips imbriqués. PAr contre ça suppose un code assez sophistiqué, pour aboutir à :
 
- gros-composant-très-compliqué -> génération d'un proxy en bitmap -> (animation du proxy) -> réaffichage du gros-composant-très-compliqué au bon endroit une fois l'anim terminée.
 
Le gain au runtime est *très* conséquent.


Message édité par antika le 11-03-2008 à 21:15:01
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed