compteur
 
AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  ConnexionConnexion  
Partager | 
 

 ticket a gratter version moi + HAXE !!!

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 00:39

ca y est !!

je l'ai fais !!!


mon ticket a gratter !!
3 jours de casse tete !!!

1 sous linux pour comprendre qu'il y avais pas de plug flash 8 !!! Mad
2 pour mettre a point les procedures !!!


attention action script pur de chez pur version haxe, le successeur de mtasc

je vous met les sources...
a savoir qu'il y a une petit difference pour certaine fonction , mais on garde les grandes lignes

bon je l'ai mis juste a titre d'exemple, et surtout que c'etait un defie pour moi

malgres que j'ai toujours pas trouver comme faire avec une image



Code:

// ticket a gratter version 1.0 test
// par christophe_D

import flash.display.BitmapData;
import flash.Mouse;
import flash.MovieClip;
import flash.MovieClipLoader;
import StdTypes;
import flash.TextField;


class Source {

static function main() {
// creation des 3 calques
      var mc:flash.MovieClip = flash.Lib._root.createEmptyMovieClip("mc",1);  // la soluce
      var mc2:flash.MovieClip = flash.Lib._root.createEmptyMovieClip("mc2",3); // l'affiche
      var mc3:flash.MovieClip = flash.Lib._root.createEmptyMovieClip("mc3",2); // le masque

      var myimage:BitmapData = new BitmapData(80, 80, false,0x00FF00);
      var myimage2:BitmapData = new BitmapData(80, 80, false, 0xFF0000);

// creation du message cache

      var tf:TextField ;
      mc.createTextField("tf",10,15,20,50,30);
      mc.tf.text = "BRAVO";

      mc.attachBitmap(myimage, 1);
      mc2.attachBitmap(myimage2, 2);
      myimage.draw(mc);

// creation du masque ici le masque est rectangle
// mais peut etre de la forme que l'on veux

      mc3.beginFill(0xFFFF00);
      //mc3.moveTo(0,0);
      mc3.lineTo(mc.tf._width,0);
      mc3.lineTo(mc.tf._width,mc.tf._height);
      mc3.lineTo(0,mc.tf._height);
      mc3.endFill();

// positionnement du masque au dessus du text
      mc3._x=mc.tf._x;
      mc3._y=mc.tf._y;
// creation du masque a gratter version couleur degrader
      var i,j : Int;
      i=0;
      j=0;
      while (j<=Math.round(mc.tf._height)) {
         i=0;
         while (i<=Math.round(mc.tf._width)) {
         myimage2.setPixel(Math.round(mc3._x)+i,Math.round(mc3._y)+j
,Math.round(250/mc.tf._height)*j+Math.round(250/mc.tf._width)*i*256);
         i++;
         }
      j++;
      }
// masquage du text pour eviter d'avoir le curseur !!!
      mc.tf._visible=false;
// interception du bouton de souris presser
      mc3.onPress = function() {
      flash.Lib._root.drw=true;
      }
// interception du bouton de souris relacher
      mc3.onRelease = function() {
      flash.Lib._root.drw=false;
      }
// interception de souris dans le cadre
      mc3.onRollOver = function(){
      flash.Lib._root.deh=true;
      }
// interception de souris hors du cadre
      mc3.onRollOut = function() {
      flash.Lib._root.deh=false;
      flash.Lib._root.drw=false;
      }

// interception de la souris en mouvement
      mc3.onMouseMove = function () {
      if (flash.Lib._root.drw && flash.Lib._root.deh){
      var coul: Int;
      var xm,xmp:Int;
      var ym,ymp:Int;
// recuperation de la positon de la souris
      xm=Math.round(mc3._xmouse);
      ym=Math.round(mc3._ymouse);
// pour se repositionner dans cadre a gratter
      xmp=xm+Math.round(mc3._x);
      ymp=ym+Math.round(mc3._y);
// pour pas depasser !!!
      if ((xm>=0 && xm<mc>=0 && ym<=mc.tf._height)) {
// teste des pixels
      coul=myimage.getPixel(xmp,ymp);
      myimage2.setPixel(xmp,ymp, coul);

      coul=myimage.getPixel(xmp+1,ymp);
      myimage2.setPixel(xmp+1,ymp, coul);

      coul=myimage.getPixel(xmp,ymp+1);
      myimage2.setPixel(xmp,ymp+1, coul);

      coul=myimage.getPixel(xmp+1,ymp+1);
      myimage2.setPixel(xmp+1,ymp+1, coul);   } }
   }
// initialiser des pointeurs comme en dehors et non dessinant
   flash.Lib._root.drw=false;  // true si souris presser
   flash.Lib._root.deh=false;  // true si souris dans le cadre
    }
}

_________________
un petit jeux sympa

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
El'vieux
Programmeur
Programmeur


Nombre de messages: 905
Age: 63
Localisation: Canton , Chine
Divers: Retraité
Loisirs: Généalogie,la Chine,programmation,arts martiaux
Date d'inscription: 02/04/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 01:16

cheers ouahh , excellent ,
demain je vais voir ca, est-ce compatible avec mtasc ?

j'ai du mal a faire les import nécessaire pour getpixel
en tout cas, encore bravo,je suis desus depuis 2 jours,j'ai meme installer flash 8, pour voir les aides et fonctionnement
apparemment mtasc a bien les fichier pour l'import.

_________________
Démos et progs sur :http://danypf.free.fr/
Voyages et passions :http://dany.enchine.over-blog.com/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://danypf.free.fr
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 14:20

je sais de memoire dans un groupe importer depuis mtasc "bitmapData"
il y en un qui a un soucis ..

ca doit etre la focntion ADD , il faut la mettre en commentaire

par rapport a haxe , il y a des import sous haxe a ne pas faire sous mtasc !!

je te redonne tout les elements ce soir !!

_________________
un petit jeux sympa

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
El'vieux
Programmeur
Programmeur


Nombre de messages: 905
Age: 63
Localisation: Canton , Chine
Divers: Retraité
Loisirs: Généalogie,la Chine,programmation,arts martiaux
Date d'inscription: 02/04/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 14:30

Citation:
je te redonne tout les elements ce soir !!

Merci beaucoup, je vais voir de mon côé pour continuer mes essais avec mtasc, j'ai pas mal regardé dans flash 8 comment faire.
haxe est mieux que mtasc ? ,
et peux t-on aussi depuis eanim appeler des fonctions?
si oui, peut-etre serait-il plus interressant pour nous,utilisateurs de eanim de passer par haxe?

_________________
Démos et progs sur :http://danypf.free.fr/
Voyages et passions :http://dany.enchine.over-blog.com/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://danypf.free.fr
Admin
Administrateur
Administrateur


Nombre de messages: 17291
Localisation: Toulouse
Date d'inscription: 11/12/2005

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 14:44

christophe_D a écrit:
ca y est !!

je l'ai fais !!!


mon ticket a gratter !!
3 jours de casse tete !!!

1 sous linux pour comprendre qu'il y avais pas de plug flash 8 !!! Mad
2 pour mettre a point les procedures !!!


attention action script pur ...


Si tu utilises du script pur, dans ce cas tu peux réaliser la vraie carte à gratter (avec un cercle aux bords dégradé qui donne une vraie impressionde grattage)

Pour cela Flash propose le clipping layer. D'après ce que j'ai compris le clipping layer s'applique à un objet. Au lieu de dessinner l'objet, il utilise cet objet comme un masque transparent.

Donc tu as 3 couches. De haut en bas :
1 - clippling layer
2 - objet-masque (qui fonctionne comme ton programme de dessin)
3 - image (qui va appraître au fur est meseure que l'objet masque s'agrandit Very Happy )

Tu va encore m'épater Very Happy

phildes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.e-anim.com
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 19:30

Cadeau pour El vieux !!!


Code:
// ticket a gratter version 1.0 test
// par christophe_D
// MTASC Version !!!

import flash.display.BitmapData;
import flash.display;
import flash.Mouse;
import flash.MovieClipLoader;
import StdTypes;

class Source {

static function main() {
// creation des 3 calques
      var mc:MovieClip = _root.createEmptyMovieClip("mc",1);  // la soluce
      var mc2:MovieClip = _root.createEmptyMovieClip("mc2",3); // l'affiche
      var mc3:MovieClip = _root.createEmptyMovieClip("mc3",2); // le masque

      var myimage:BitmapData = new BitmapData(80, 80, false,0x00FF00);
      var myimage2:BitmapData = new BitmapData(80, 80, false, 0xFF0000);

// creation du message cache

      var tf:TextField ;
      mc.createTextField("tf",10,15,20,50,30);
      mc.tf.text = "BRAVO";

      mc.attachBitmap(myimage, 1);
      mc2.attachBitmap(myimage2, 2);
      myimage.draw(mc);

// creation du masque ici le masque est rectangle
// mais peut etre de la forme que l'on veux

      mc3.beginFill(0xFFFF00);
      //mc3.moveTo(0,0);
      mc3.lineTo(mc.tf._width,0);
      mc3.lineTo(mc.tf._width,mc.tf._height);
      mc3.lineTo(0,mc.tf._height);
      mc3.endFill();

// positionnement du masque au dessus du text
      mc3._x=mc.tf._x;
      mc3._y=mc.tf._y;
// creation du masque a gratter version couleur degrader
      var i,j : Number;
      i=0;
      j=0;
      while (j<=Math.round(mc.tf._height)) {
         i=0;
         while (i<=Math.round(mc.tf._width)) {
         myimage2.setPixel(Math.round(mc3._x)+i,Math.round(mc3._y)+j,Math.round(250/mc.tf._height)*j+Math.round(250/mc.tf._width)*i*256);
         i++;
         }
      j++;
      }
// masquage du text pour eviter d'avoir le curseur !!!
      mc.tf._visible=false;
// interception du bouton de souris presser
      mc3.onPress = function() {
      _root.drw=true;
      }
// interception du bouton de souris relacher
      mc3.onRelease = function() {
      _root.drw=false;
      }
// interception de souris dans le cadre
      mc3.onRollOver = function(){
      _root.deh=true;
      }
// interception de souris hors du cadre
      mc3.onRollOut = function() {
      _root.deh=false;
      _root.drw=false;
      }

// interception de la souris en mouvement
      mc3.onMouseMove = function () {
      if (_root.drw && _root.deh){
      var coul: Number;
      var xm,xmp:Number;
      var ym,ymp:Number;
// recuperation de la positon de la souris
      xm=Math.round(mc3._xmouse);
      ym=Math.round(mc3._ymouse);
// pour se repositionner dans cadre a gratter
      xmp=xm+Math.round(mc3._x);
      ymp=ym+Math.round(mc3._y);
// pour pas depasser !!!
      if ((xm>=0 && xm<=mc.tf._width) && (ym>=0 && ym<=mc.tf._height)) {
// teste des pixels
      coul=myimage.getPixel(xmp,ymp);
      myimage2.setPixel(xmp,ymp, coul);

      coul=myimage.getPixel(xmp+1,ymp);
      myimage2.setPixel(xmp+1,ymp, coul);

      coul=myimage.getPixel(xmp,ymp+1);
      myimage2.setPixel(xmp,ymp+1, coul);

      coul=myimage.getPixel(xmp+1,ymp+1);
      myimage2.setPixel(xmp+1,ymp+1, coul);   } }
   }
// initialiser des pointeurs comme en dehors et non dessinant
   _root.drw=false;  // true si souris presser
   _root.deh=false;  // true si souris dans le cadre
    }
}


et la ligne de commande qui va bien avec

Code:
\mtasc\mtasc -cp \mtasc\std8 -swf test2.swf -header 300:300:25:808080 -main Source.as -version 8



explication


-cp \mtasc\std8 -> pour utilisation des librairies flash 8
header 300:300:25:808080 -> animation de 300x300 a 25 fps fond couleur 0x808080
-main -> le "script" a un point d'entree
-version 8 -> pour genere un swf en version 8

_________________
un petit jeux sympa

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
El'vieux
Programmeur
Programmeur


Nombre de messages: 905
Age: 63
Localisation: Canton , Chine
Divers: Retraité
Loisirs: Généalogie,la Chine,programmation,arts martiaux
Date d'inscription: 02/04/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 19:53

Citation:
Cadeau pour El vieux !!!

Merci cheers
je crois que la nuit va etre longue Very Happy

Citation:
-cp \mtasc\std8 -> pour utilisation des librairies flash 8
header 300:300:25:808080 -> animation de 300x300 a 25 fps fond couleur 0x808080
-main -> le "script" a un point d'entree
-version 8 -> pour genere un swf en version 8

pour la compil -cp ..... j'avais trouvé pas mal de démo sur internet
mais celle-ci est plus claire,car tu utilises les fichiers de mtasc alors
que moi je faisais mes essais avec flash 8 (-cp c:\program files.....)
bon ,c'est pas tout ca, mais j'ai un code qui m'attends Razz

alien

_________________
Démos et progs sur :http://danypf.free.fr/
Voyages et passions :http://dany.enchine.over-blog.com/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://danypf.free.fr
El'vieux
Programmeur
Programmeur


Nombre de messages: 905
Age: 63
Localisation: Canton , Chine
Divers: Retraité
Loisirs: Généalogie,la Chine,programmation,arts martiaux
Date d'inscription: 02/04/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 20:03

Ca marche !!

un seul mot , non,deux Bravo Christophe_D
je vais aller mettre MA démo Razz sur le forum flash libre , vite....

bon assez rigoler,maintenant il faut que je regardes comment ca marche
je viens de me taper 2 jours a lire des aide et forum etc sur flash 8 (il faut du courage pour travailler avec ce genre de log,je crois qu'avec le temps on doit s'en sortir mais dur dur
maintenant reste a adapter ce fichier a utilisation avec eanim Very Happy
que fais-tu ce week end Christophe ? Razz
moi,j'ai pas le temps ,j'ai un anniversaire,
c'est afro qui va etre content,il va sauter dans sa piscine tout habillé!!

_________________
Démos et progs sur :http://danypf.free.fr/
Voyages et passions :http://dany.enchine.over-blog.com/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://danypf.free.fr
El'vieux
Programmeur
Programmeur


Nombre de messages: 905
Age: 63
Localisation: Canton , Chine
Divers: Retraité
Loisirs: Généalogie,la Chine,programmation,arts martiaux
Date d'inscription: 02/04/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 20:11

encore moi Very Happy
Citation:
E:\mtasc\mtasc -v -cp \mtasc\std8 -swf test2.swf -header 300:300:25:808080 -main Source.as -version 8


juste si cela t'interresse j'ai ajouté le -v
et sous dos ,quand tu lance ton fichier.bat tu as tous les fichiers et chemins des imports,et éventuellement les erreurs etc..
depuis ce matin,moi j'avais toujours "erreur..." scratch

_________________
Démos et progs sur :http://danypf.free.fr/
Voyages et passions :http://dany.enchine.over-blog.com/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://danypf.free.fr
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 20:31

le -v et le mode verbeux de memoire !!

ce qui permet de suivre ce qu'il fait ..

_________________
un petit jeux sympa

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
Admin
Administrateur
Administrateur


Nombre de messages: 17291
Localisation: Toulouse
Date d'inscription: 11/12/2005

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 21:11

christophe_D a écrit:
-cp \mtasc\std8 -> pour utilisation des librairies flash 8
...
-version 8 -> pour genere un swf en version 8

Est-ce qu'il produit alors un script compatible l'AS3 ?

Phildes
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.e-anim.com
El'vieux
Programmeur
Programmeur


Nombre de messages: 905
Age: 63
Localisation: Canton , Chine
Divers: Retraité
Loisirs: Généalogie,la Chine,programmation,arts martiaux
Date d'inscription: 02/04/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 21:22

d'après ce que j'ai lu,pendant mes quelques jours d'études,
mtasc ne gere pas l'as3.
c'est pourquoi le créteur de mtasc , nicolas ??
a créé haxe,il conseille de passer a haxe pour as3

PS: chef afro ,je crois que christophe devrait passer 'programmeur' Very Happy
ainsi il sera écrit en jaune Razz Razz
pour christophe:

Code:
     
// créé un clip vide avec nom image et deph :4
    var image:MovieClip = _root.createEmptyMovieClip("image",4);
    loadMovie("image1.jpg", image); // image de 400x300

pour mettre une image de 400 x300
mais je n'ai pas su la mettre en fond ,?

_________________
Démos et progs sur :http://danypf.free.fr/
Voyages et passions :http://dany.enchine.over-blog.com/
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://danypf.free.fr
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 21:25

non dommage ,

http://www.mtasc.org/
Citation:

MTASC will not support AS3, as we are currently working on a new and powerful language name haXe that will support Flash Players 6-7-8 and 8.5 as well as Javascript and Server-Side scripting.


c"est pour ca que je commence a me tourner vers haxe

je vais travailler surtout le lien e-anim <--> HAXE

_________________
un petit jeux sympa

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
Nightb
Super accro
Super accro


Nombre de messages: 336
Age: 19
Localisation: Chaumont (haute marne)
Loisirs: Un peu de tout..
Date d'inscription: 16/08/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 21:31

Excellent !!
Bien joué !!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.myspace.com/nightb52
christophe_D
Programmeur
Programmeur


Nombre de messages: 1905
Age: 37
Localisation: Frasne (25)
Divers: papa de 5 enfants
Loisirs: programmation en tous genres, defendre le libre , linux, photo ....
Date d'inscription: 23/06/2006

MessageSujet: Re: ticket a gratter version moi + HAXE !!!   Jeu 31 Aoû 2006, 21:33

El'vieux a écrit:
d'après ce que j'ai lu,pendant mes quelques jours d'études,
mtasc ne gere pas l'as3.
c'est pourquoi le créteur de mtasc , nicolas ??
a créé haxe,il conseille de passer a haxe pour as3

PS: chef afro ,je crois que christophe devrait passer 'programmeur' Very Happy
ainsi il sera écrit en jaune Razz Razz
pour christophe:

Code:
     
// créé un clip vide avec nom image et deph :4
    var image:MovieClip = _root.createEmptyMovieClip("image",4);
    loadMovie("image1.jpg", image); // image de 400x300

pour mettre une image de 400 x300
mais je n'ai pas su la mettre en fond ,?


modifie ici
Code:

      var mc:MovieClip = _root.createEmptyMovieClip("mc",1);  // la soluce couche 1
      var mc2:MovieClip = _root.createEmptyMovieClip("mc2",3); // l'affiche couche 2
      var mc3:MovieClip = _root.createEmptyMovieClip("mc3",2); // le masque couche 3

 


donc monte les couches

et met ton images sur la 1 ...

ca devrais le faire

_________________
un petit jeux sympa

Mes meilleurs photos

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://c.diot.free.fr
 

ticket a gratter version moi + HAXE !!!

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

 Sujets similaires

-
» new version : CCcam-info-php-1.2.3.
» ticket a gratter version moi + HAXE !!!
» Ticket à gratter
» Ticket à gratter flash
» Mon premier ticket à gratter

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-anim :: Comment faire, Problème, Bug :: Tutoriels :: Programmation :: Aprendre L'actionscript 2 :: Vos Question-