[mtasc] Subclassing MovieClip and attachMovie

Simen Brekken simen.brekken at gmail.com
Mon Dec 19 15:46:27 CET 2005


I've been playing around with assimilating MovieClips using __proto__ but
I'm having difficulties with normal MovieClip methods like attachMovie. In
my Slideshow class it seems it stops behaving like a Slideshow after it's
constructor is run.

-
Simen Brekken

/**
* Test
* @mtasc -swf Test.swf
*/

class Test extends MovieClip {
	public var slideshow:Slideshow;
	
	private function Test(target:MovieClip) {
		target.__proto__ = this.__proto__;
		this = Test(target);
		
		slideshow = new
Slideshow(createEmptyMovieClip("mcSlideShow", 1));
		slideshow.loadPhoto(1);
	}

	public static function main(rootClip:MovieClip):Void {
		var app:Test = new Test(rootClip);
	}
}


/**
* Slideshow
*/

class Slideshow extends MovieClip {
	public var photo:MovieClip;

	public function Slideshow(target:MovieClip) {
		target.__proto__ = this.__proto__;
		this = Slideshow(target);

		// placing loadPhoto(1) here correctly attaches the
movieclip
	}

	public function loadPhoto(num:Number):Void {
		trace("loading photo " + num);

		Here, attachMovie doesn't return anything and the clip isn't
attached.
		attachMovie("mcPhoto"+num, "photo", getNextHighestDepth());
	}
}






More information about the mtasc mailing list