[問題] 如何替換舞台上的元件???
我想利用舞台左邊元件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
Flash 近期熱門文章
PTT數位生活區 即時熱門文章