Create a class.
package {
import flash.display.MovieClip;
public class MyMovieClip extends MovieClip {
}
}
Add properties that may vary.
package {
import flash.display.DisplayObject;
import flash.display.MovieClip;
public class MyMovieClip extends MovieClip {
private var _borderColor : uint;
private var _artWork : DisplayObject;
}
}
Add possibilities to modify the properties. You may use constructor arguments or explicit getter/setter or you could declare your properties to be public.
package {
import flash.display.DisplayObject;
import flash.display.MovieClip;
public class MyMovieClip extends MovieClip {
private var _borderColor : uint;
private var _artWork : DisplayObject;
// using constructor parameters
public function MyMovieClip(borderColor : uint, artWork : DisplayObject) {
_borderColor = borderColor;
_artWork = artWork;
}
// using setter/getter
public function set borderColor(borderColor : uint) : void {
_borderColor = borderColor;
}
public function get borderColor() : uint {
return _borderColor;
}
public function set artWork(artWork : DisplayObject) : void {
_artWork = artWork;
}
public function get artWork() : DisplayObject {
return _artWork;
}
}
}
Create instances of the class and set them up using different values:
package {
import flash.display.Shape;
import flash.display.Sprite;
public class Main extends Sprite {
public function Main() {
var myMc1 : MyMovieClip = new MyMovieClip(0xFF0000, new Shape());
var myMc2 : MyMovieClip = new MyMovieClip(0x0000FF, new Shape());
var myMc3 : MyMovieClip = new MyMovieClip(0x00FF00, new Shape());
myMc1.borderColor = 0xFF0000;
myMc3.artWork = new Shape();
}
}
}