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