/*
 MovieClipを量産するときにわずらわしくなる部分を
 まとめたクラス。
  おもに、複数のMovieClipやActionを簡単に追加できるようにしたもの。
 ただしactionscript上で重複するものについては想定していない。
(重複する部分は上書きされてしまう)
 actionscript上でのものを想定するならば、どのようなものを作成するか
 前もって知っておく必要があると思われるからである。
*/

class Object
{

//追加するオブジェクト
 var $_object;//for movieclip
 var $_item;  //for display_item

//自分自身

 var $_movieclip; 
 var $_action;

	function Object()
	{
	 $this->_movieclip = new SWFSprite();
	
	 $this->_action = NULL;
	 $this->_object = NULL;
//	 $this->_item   = NULL;
	}

	//以下メインとなる機能********************
	//つまりは配列にオブジェクトやアクションを保存して
	//おいて、後でまとめてMovieClipを作成する
	//
	function addAction($action,$name) // add SWFAction ,name is action name 
	{
	 $this->_action[$name]=$action;
	}
	
	function addObject($object,$name)
	{
	  $this->_object[$name] = $object;
	}

	function compire()
	{
	if($this->_action != NULL)
	   {
		while(  list($name,$action) = each($this->_action))
	 	{
		 $this->_movieclip->add($action);
		}
	    }
	if($this->_object != NULL)
	   {
		while(  list($name,$object) = each($this->_object))
	 	{
		 $_item = $this->_movieclip->add($object);
	 	 $_item->moveTo(0,0);
		 $_item->setName($name);
	 	}
	   }
	}

	//対話をする部分**************

	function Layer()
	{
	$this->_movieclip->nextFrame();
	return $this->_movieclip;	
	}

}

$class = new Object();