.flash filename="twoclass.swf" bbox=420x440 version=9 fps=12 background=#666666 .edittext log width=400 height=550 multiline html .put log x=0 y=0 .action: package { import flash.display.* import flash.text.TextField ; import flash.geom.* ; import flash.events.* ; import Date ; //globals var ny:Number; public dynamic class User extends Sprite { private var name:String ; private var tf:TextField ; private var clr:Number ; private var cx:Number ; private var cy:Number ; private var cr:Date ; public function User(nom:String) { cr=new Date(); cx=200; cy=ny; ny+=50; tf=new TextField(); name=nom ; tf.text=name+" "+cr; tf.border=true; tf.width=200; tf.height=18; tf.x=cx +12 ; tf.y=cy-9; addChild(tf); clr=0xFF0000; this.graphics.beginFill(clr); this.graphics.drawCircle(cx,cy,9); this.graphics.endFill(); this.addEventListener(MouseEvent.CLICK, clic); this.addEventListener(MouseEvent.MOUSE_OVER,mover); this.addEventListener(MouseEvent.MOUSE_OUT,m_out); buttonMode=true; } private function clic(ev){ if ( clr == 0xFF0000 ) clr=0x00FF00 ; else clr=0xFF0000; this.graphics.beginFill(clr); this.graphics.drawCircle(cx,cy,8); this.graphics.endFill(); } private function mover(ev){ tf.visible=true; } private function m_out(ev){ tf.visible=false; } } } package { import flash.display.*; private var users: Array=new Array ; public dynamic class Main extends MovieClip { public function trace (s){ this.log.text+=s+"\n"; } public function Main() { ny=20; var nms=new Array("jean","marc","eric","paul"); for (var i in nms ) { var nom=nms[i]; users[nom]= new User(nom); addChild(users[nom]); } trace("two classes in same source"); } } } .end # action .end # .flash