DuplicateMovieClipを使ってみようDuplicateMovieClipを使うことによって、作成したSWFSpriteやSWFShapeなどの オブジェクトを複製することかせでせます。以前に作成したDragAndDropを作り直したもの。 class DragAndDrop extends NewPrimitive { function DragAndDrop() { $this->NewPrimitive(); $this->addObject($this->_object,"DragAndDrop"); $this->addAction( new SWFAction(" DragAndDrop.onPress = function(){this.startDrag('');}; DragAndDrop.onRelease = function(){this.stopDrag('');}; "),"DragAndDrop" ); $this->compire(); } function _object() { $this->_object = new SWFShape(); $this->_object->setRightFill(255,0,255); $this->_object->setLine(1,100,200,255); $this->_object->movePenTo(25,0); for($i = 1; $i<10;$i++) { $this->_object->drawLine( 25*cos( deg2rad( 40*$i )) - 25*cos( deg2rad( 40*($i-1) )) , -25*sin( deg2rad( 40*$i )) + 25*sin( deg2rad( 40*($i-1) )) ); } } }クリックされたときにObjectの複製を作成するオブジェクト class DuplicateButton extends NewPrimitive { function DuplicateButton() { $this->NewPrimitive(); $this->addObject($this->_object,"DuplicateButton"); $this->addAction( new SWFAction (" DuplicateButton.onLoad = function() { i = 10; }; DuplicateButton.onPress= function() { item = _parent.item.duplicatemovieclip('mc'+i,i+10); i++; item._x = this._x; item._y = this._y; }; "),"DuplicateButton"); $this->compire(); } function _object() { $this->_object = new SWFShape(); $this->_object->setRightFill(255,100,155); $this->_object->drawCircle(30); } }Duplicateボタンと複製されるオブジェクトの追加。 class Universe extends NewPrimitive { var $_button; function Universe() { $this->NewPrimitive(); $drag = new DragAndDrop(); $dupl = new DuplicateButton(); $this->addObject($dupl->Layer(),"button"); $this->addObject($drag->Layer(),"item"); $this->addAction(new SWFAction("button._y = 400;"),"position"); $this->compire(); } }作成したファイル |