[問題] 如何替換舞台上的元件???

看板Flash作者 (木奇)時間16年前 (2009/09/06 22:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我想利用舞台左邊元件mc_editpad中的btn_prehouse和btn_nexthouse 來更換已經加在舞台上的houseobj元件(house1_mc ~ house10_mc) house1_mc ~ house10_mc是從元件庫中匯出的(經由屬性中的匯出給as使用) 然後再把house1_mc ~ house10_mc放到Array裡面 但是以下小弟我所寫的程式碼只能無限的把house1_mc ~ house10_mc一一叫 至舞台上,卻無法直接替換掉原本的元件(也就是舞台上永遠只有一個元件可以移動 並且能夠更換。到底怎麼做才能做到這種效果呢??? var houseArr:Array=new Array(house1_mc,house2_mc,house3_mc,house4_mc,house5_mc,house6_mc,house7_mc,house8_mc,house9_mc,house10_mc); var i = 0; var j = 9; trace(i); changehouse(0); mc_editpad.btn_nexthouse.addEventListener(MouseEvent.CLICK, changenext); function changenext(Event:MouseEvent) { if(i == j) { i=0; changehouse(i); trace(i); } else { i++; changehouse(i); trace(i); } } mc_editpad.btn_prehouse.addEventListener(MouseEvent.CLICK, changepre); function changepre(Event:MouseEvent) { if(i == 0) { i = 9; changehouse(i); trace(i); } else { i--; changehouse(i); trace(i); } } function changehouse (num:int):void { var houseobj = new houseArr[i]; addChild(houseobj); houseobj.width = houseobj.width * 0.7; houseobj.height = houseobj.height * 0.7; houseobj.x = 512; houseobj.y = 374; trace(houseobj.x , "," , houseobj.y); houseobj.addEventListener(MouseEvent.MOUSE_DOWN, begindrag); function begindrag(Event:MouseEvent):void { houseobj.startDrag(); } houseobj.addEventListener(MouseEvent.MOUSE_UP, enddrag); function enddrag(Event:MouseEvent):void { houseobj.stopDrag(); trace(houseobj.x , "," , houseobj.y); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.155.131
文章代碼(AID): #1AeyRKIc (Flash)
文章代碼(AID): #1AeyRKIc (Flash)