# swfc compiler http://swftools.org thanks Matthias Kramn .flash filename="star.swf" bbox=700x700 version=9 fps=12 background=#666666 .edittext log width=250 height=180 color=black multiline wordwrap border .put log x=10 y=0 .action: package { import flash.display.*; import flash.events.*; import flash.text.* ; import flash.net.* ; public dynamic class Example extends MovieClip { private var sprites:Array=new Array (Sprite) ; private var n :Number=1 ; private var qb:URLRequest ; private var qr:URLRequest ; private var qv:URLRequest ; private var qj:URLRequest ; private var qo:URLRequest ; private var qf:URLRequest ; private var qc:URLRequest ; private var hi =22; // espace haut private var h =37; // inter ligne private var lg =23; // espace entre pion private var lgg=69; // espace gauche private var cur : Array; private function trace (s:String) { this.log.text+=s+"\n"; } private function cercle(l:String,x,y,px,py) { var req:URLRequest; switch (l) { case 'r': req=qr;break; case 'v': req=qv;break; case 'f': req=qf;break; case 'c': req=qc;break; case 'j': req=qj;break; case 'b': req=qb;break; case 'o': req=qo;break; } // trace(x+" "+y); var lo=new Loader(); lo.x=x-15;lo.y=y-15; lo.addEventListener(MouseEvent.CLICK, clic); lo.load(req); addChild(lo); } private function ready(evt){ trace("ready "+evt.type); } private function initmap() { var i=0,p=0; var haut=hi; // ecart initial bord supérieur var l,larg ; while (i < cur.length) { var mc ; var str=cur[i]; var j=0; larg=lgg; // espace gauche while ( j < str.length ) { l=str[j]; if ( l != ' ' ) { cercle(l,larg,haut,i,j); p++; } larg+=lg; j++; } haut+=h; i++; } } private function conv(arr) { var b=new Array(); for ( var i in arr ) b[i]=arr[i].split(""); return b; } public function Example() { this.log.backgroundColor = 0xffcccc; trace("star"); var star2 = new Array( " r ", " r r ", " r r r ", " r r r r ", "o o o o o o o o o o o o o", " o o o o o o o o o o o o ", " o o o o o o o o o o o ", " o o o o o o o o o o ", " o o o o o o o o o ", " o o o o o o o o o o ", " o o o o o o o o o o o ", " o o o o o o o o o o o o ", "o o o o o o o o o o o o o", " v v v v ", " v v v ", " v v ", " v " ); var star6 =new Array( " r ", " r r ", " r r r ", " r r r r ", "c c c c o o o o o b b b b", " c c c o o o o o o b b b ", " c c o o o o o o o b b ", " c o o o o o o o o b ", " o o o o o o o o o ", " j o o o o o o o o f ", " j j o o o o o o o f f ", " j j j o o o o o o f f f ", "j j j j o o o o o f f f f", " v v v v ", " v v v ", " v v ", " v "); cur=conv(star6);// array(string) -> array(array) qb=new URLRequest("pion/b.png"); qc=new URLRequest("pion/c.png"); qr=new URLRequest("pion/r.png"); qv=new URLRequest("pion/v.png"); qj=new URLRequest("pion/j.png"); qo=new URLRequest("pion/o.png");// transparent qf=new URLRequest("pion/f.png"); initmap(); } private function clic(a):void { var b=int (a.localY/20); trace(a.currentTarget);//addChild(blue); if ( sprites[b] != null ) { removeChild(this.sprites[b]); trace(b+ " deleted" ); } } } } .end # action .end # .flash