comment calculer la surface grattée ? - Flash/ActionScript - Programmation
Marsh Posté le 10-03-2008 à 05:27:11
on(gratage>80%){
Display(message);
}
C'est pourtant facile
Marsh Posté le 10-03-2008 à 10:26:07
ReplyMarsh 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++;
}
};
Marsh Posté le 10-03-2008 à 10:32:46
cbastien41 a écrit : c'est pas si simple que cela ! |
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 ...
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 ?
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.
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.
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 ?
Marsh Posté le 11-03-2008 à 02:54:56
Oui dans l'aide y'en a plein ...
Antika > tricheur (bien joué, j'avais pas du tout pensé a ca, faudrait que j'utilise plus souvent cette classe )
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
+
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.
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
++