A added a few classes to my VisibleObject-Project. A Graphic, a Picture and an AttachedObject-Class. They aren’t ducumented yet.
The Graphic-Class:
import asset.Size;
class Graphic extends VisibleObject{
public var type:String = “Graphic“;
private var size:Size;
public var resize:Function;
public var width:Number;
public var height:Number;
public var setSize:Function;
public var getSize:Function;
private var defineWidth:Function;
private var defineHeight:Function;
public function Graphic(Void){
size = new Size();
}
public function create(Void):Void{
super.create();
if(size.width == null) defineWidth();
if(size.width == null) defineHeight();
}
}
The Picture-Class:
class Picture extends Graphic/*, VisibleComposite*/{// the first problem [multiple inheritance]
public var type:String = “Picture“;
public var composite:VisibleComposite;
public function Picture(Void){
composite = new VisibleComposite();
}
public function draw(Void):Void{
composite.draw();
resize();
mc._visible = true;
}
public function clear(Void):Void{
mc._visible = false;
}
public function resize(Void):Void{
mc._width = size.width;
mc._height = size.height;
}
public function set width(aWidth:Number):Void{
size.width = aWidth;
}
public function get width():Number{
return size.width;
}
public function set height(aHeight:Number):Void{
size.height = aHeight;
}
public function get height():Number{
return size.height;
}
public function setSize(aWidth:Number, aHeight:Number):Void{
size.width = aWidth;
size.height = aHeight;
}
public function getSize(Void):Object{
return size;
}
public function addGraphic(aChild:Graphic):Number{
return composite.addChild(aChild);
}
public function removeGraphic(aChild:Graphic):Void{
composite.removeChild(aChild);
}
public function removeGraphicByNumber(aNumber:Number):Void{
composite.removeChildByNumber(aNumber);
}
public function getGraphicByNumber(aNumber:Number)/*:Graphic*/{// damn the second problem [type mismatch]
return composite.getChildByNumber(aNumber);
}
public function getGraphicsTotal(Void):Number{
return composite.getChildsTotal();
}
private function defineWidth(Void):Void{
size.width = mc._width;
}
private function defineHeight(Void):Void{
size.height = mc._height;
}
private function createMatrix(Void):Void{
composite.setContainer(mc);
composite.create();
}
}
The AttachedObject-Class:
import asset.Size;
class AttachedObject extends Graphic{
public var type:String = “AttachedObject“;
public function AttachedObject(Void){
}
public function draw(Void):Void{
resize();
mc._visible = true;
}
public function clear(Void):Void{
mc._visible = false;
}
public function resize(Void):Void{
mc._width = size.width;
mc._height = size.height;
}
public function set width(aWidth:Number):Void{
size.width = aWidth;
}
public function get width():Number{
return size.width;
}
public function set height(aHeight:Number):Void{
size.height = aHeight;
}
public function get height():Number{
return size.height;
}
public function setSize(aWidth:Number, aHeight:Number):Void{
size.width = aWidth;
size.height = aHeight;
}
public function getSize(Void):Size{
return size;
}
private function defineWidth(Void):Void{
size.width = mc._width;
}
private function defineHeight(Void):Void{
size.height = mc._height;
}
}
