[問題] AS3 元件的複製

看板Flash作者 (小不點)時間16年前 (2009/12/30 19:55), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/1
請問一下各位大大... 如何在按下一個元件的時候可以同時複製出一個一樣的元件, 讓這個被複製出來的元件可以拖曳和縮放? 原來的元件固定在原來的地方不動? 我現在做出來的變成按A會複製出A1,按A1會複製出A2... 跟本來想的按A複製出A1,再按A複製出A2不一樣... 以下是原始碼,標示黃色的部分,是我覺得有問題的地方,可是又不知道要怎麼改...> < 原始檔 http://0rz.tw/hp6dU var startX:int; var startY:int; var mc:MovieClip; var objs:Sprite=new Sprite(); this.addChild(objs); objs.addChild(obj1); objs.addChild(obj2); objs.addChild(obj3); objs.addEventListener(MouseEvent.MOUSE_DOWN,doDrag); objs.addEventListener(MouseEvent.MOUSE_UP,doDrop); enlarge.addEventListener(MouseEvent.MOUSE_DOWN,large); reduce.addEventListener(MouseEvent.MOUSE_DOWN,small); function doDrag(e:MouseEvent):void { mc = e.target as MovieClip; startX = mc.x; startY = mc.y; var item:MovieClip; if (obj1==mc) { item=new leaf(); item.x=obj1.x; item.y=obj1.y; addChild(item); } mc.startDrag(true); } function doDrop(e:MouseEvent):void { mc = e.target as MovieClip; mc.stopDrag(); } function large(e:MouseEvent) { if (mc!=null) { mc.scaleX += 0.1; mc.scaleY = mc.scaleX; } } function small(e:MouseEvent) { if (mc!=null) { mc.scaleX -= 0.1; mc.scaleY = mc.scaleX; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.181.170

12/30 20:07, , 1F
沒有"複製"這種功能可以用,你應該鑽研的方向是把一個物
12/30 20:07, 1F

12/30 20:08, , 2F
件的狀態(位置、大小、角度、影格等)讀取出來,新增一個
12/30 20:08, 2F

12/30 20:08, , 3F
同樣class的物件(new Leaf()),然後把這些狀態寫到這個
12/30 20:08, 3F

12/30 20:08, , 4F
新物件上
12/30 20:08, 4F

12/30 20:24, , 5F
謝謝你!我再試試看! : )
12/30 20:24, 5F
文章代碼(AID): #1BEp-xNk (Flash)