The below code is for FlashBuilder 4, If you are using FlexBuilder3 use addChild()
instead of the commented block in the following code.
public function addCircle(){x:Number, y: Number, radius:Number, ballcip:Ball):void{ bd:b2BodyDef = new b2BodyDef(); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, imageFailed); var request:URLRequest = new URLRequest("ball.png"); loader.load(request); /*optionally change the position of the image if not fitting in the body */ /* You can also rotate the image.*/ loader.x = -50; loader.y = -50; /***************************************/ var ui:UIComponent = new UIComponent(); ui.addChild(loader); this.addElement(ui); /**************************************/ bd.userData = ui; bd.position.Set(_x/m_phys_scale, _y/ m_phys_scale); bd.type=b2Body.b2_dynamicBody; var ball_shape:b2CircleShape=new b2CircleShape(50/world_scale); var ball_fixture:b2FixtureDef = new b2FixtureDef(); ball_fixture.shape=ball_shape; ball_fixture.friction=0.9; ball_fixture.density=30; ball_fixture.restitution=0.3; ball_body=world.CreateBody(bd); ball_body.CreateFixture(ball_fixture); } private function imageFailed(event:IOErrorEvent):void { Alert.show("Image loading failed"); //make sure you have the image. }