That was what I basicly meant -----Oorspronkelijk bericht----- Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens Allandt Bik-Elliott (Receptacle) Verzonden: woensdag 27 februari 2008 17:03 Aan: Flash Coders List Onderwerp: Re: [Flashcoders] quick scoping question
however trying this did work function m(evt:MouseEvent):void { setChildIndex(evt.target as Sprite, numChildren-1); } On 27 Feb 2008, at 15:25, Cor wrote: > I made a minor adjustment because you have to typecast these to a > Sprite: > > <CODE COR> > package > { > import flash.display.*; > import flash.text.TextField; > import flash.events.MouseEvent; > > public class GreetingApp extends Sprite > { > public function GreetingApp() > { > //var rectAndCircle:Shape = new Shape(); shape changed to sprite to > support mouse event > var rectAndCircle:Sprite = new Sprite(); > //adding multiple shapes to a single Shape() instance is akin to > creating a graphic instance > rectAndCircle.graphics.lineStyle(10,0x999999,1); // draw lines > around all rectAndCircle objects > rectAndCircle.graphics.beginFill(0x0000FF,1); // set colour on > object > rectAndCircle.graphics.drawRect(125,0,150,75); // rectangle > rectAndCircle.graphics.beginFill(0xFF0000, 0.8); // change colour > on object > rectAndCircle.graphics.drawCircle(150,100,50); // circle > rectAndCircle.x = 125; > rectAndCircle.y = 100; > //without this, rectAndCircle will not display > addChild(rectAndCircle); > //just for fun > > rectAndCircle.addEventListener(MouseEvent.MOUSE_OVER,m) as Sprite; > > var triangle:Sprite = new Sprite() > triangle.graphics.beginFill(0xFF5500,0.8); > triangle.graphics.moveTo(50,0); > triangle.graphics.lineTo(100,100); > triangle.graphics.lineTo(0,100); > triangle.graphics.lineTo(50,0); > triangle.graphics.endFill(); > triangle.x = 175; > triangle.y = 75; > addChildAt(triangle, getChildIndex(rectAndCircle)); // puts > triangle BELOW rectAndCircle > triangle.addEventListener(MouseEvent.MOUSE_OVER,m) > as Sprite; > > function m(e:MouseEvent):void > { > trace(this); > //setChildIndex(this, numChildren-1); //doesn't work - 'this' is > scoped to the holding object > trace(e); > } > > var greeting_txt:TextField = new TextField(); > greeting_txt.text = "hello world"; > greeting_txt.x = 200; > greeting_txt.y = 300; > addChild(greeting_txt); > } > } > } > </CODE COR> > > -----Oorspronkelijk bericht----- > Van: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Namens Allandt > Bik-Elliott (Receptacle) > Verzonden: woensdag 27 februari 2008 15:58 > Aan: flashcoders > Onderwerp: [Flashcoders] quick scoping question > > hi guys > > i'm playing with some as3 to get my head around it and i've come > across a little wierdness in the drawing api that i hope you can shed > some light on > > here is my script - it's an amended version of one from Essential > Actionscript: > > <CODE> > > package com.receptacle.drawingtest > { > import flash.display.*; > import flash.text.TextField; > import flash.events.MouseEvent; > > public class GreetingApp extends Sprite > { > public function GreetingApp() > { > //var rectAndCircle:Shape = new Shape(); shape changed to sprite to > support mouse event > var rectAndCircle:Sprite = new Sprite(); > //adding multiple shapes to a single Shape() instance is akin to > creating a graphic instance > rectAndCircle.graphics.lineStyle(10,0x999999,1); // draw lines > around all rectAndCircle objects > rectAndCircle.graphics.beginFill(0x0000FF,1); // set colour on > object > rectAndCircle.graphics.drawRect(125,0,150,75); // rectangle > rectAndCircle.graphics.beginFill(0xFF0000, 0.8); // change colour > on object > rectAndCircle.graphics.drawCircle(150,100,50); // circle > rectAndCircle.x = 125; > rectAndCircle.y = 100; > //without this, rectAndCircle will not display > addChild(rectAndCircle); > //just for fun > > rectAndCircle.addEventListener(MouseEvent.MOUSE_OVER,m); > > var triangle:Sprite = new Sprite() > triangle.graphics.beginFill(0xFF5500,0.8); > triangle.graphics.moveTo(50,0); > triangle.graphics.lineTo(100,100); > triangle.graphics.lineTo(0,100); > triangle.graphics.lineTo(50,0); > triangle.graphics.endFill(); > triangle.x = 175; > triangle.y = 75; > addChildAt(triangle, getChildIndex(rectAndCircle)); // puts > triangle BELOW rectAndCircle > triangle.addEventListener(MouseEvent.MOUSE_OVER,m); > > function m(event:MouseEvent):void > { > setChildIndex(this, numChildren-1); //doesn't work - 'this' is > scoped to the holding object > } > > var greeting_txt:TextField = new TextField(); > greeting_txt.text = "hello world"; > greeting_txt.x = 200; > greeting_txt.y = 300; > addChild(greeting_txt); > } > } > } > > </CODE> > > is what i've done possible? ie can i set a single mouseListener method > (m in my example) to be used by any of the sprites to move themselves > to the front of the display stack or would i have to write an explicit > statement for each one? > > thanks for your time > a > > > > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.516 / Virus Database: 269.21.1/1300 - Release Date: > 26-2-2008 > 19:50 > > > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.5.516 / Virus Database: 269.21.1/1300 - Release Date: > 26-2-2008 > 19:50 > > > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.5.516 / Virus Database: 269.21.1/1300 - Release Date: > 26-2-2008 > 19:50 > > > _______________________________________________ > Flashcoders mailing list > Flashcoders@chattyfig.figleaf.com > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders -- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.1/1300 - Release Date: 26-2-2008 19:50 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.1/1300 - Release Date: 26-2-2008 19:50 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.516 / Virus Database: 269.21.1/1300 - Release Date: 26-2-2008 19:50 _______________________________________________ Flashcoders mailing list Flashcoders@chattyfig.figleaf.com http://chattyfig.figleaf.com/mailman/listinfo/flashcoders