Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 1 0 年前

movieClip中的checkbox selected問題

我建個movieclip 裡面有2個checkbox 取名為A,B

然後用FOR 迴圈attachMovie

再讓A 或 B的 selected 為true/false

可是 怎嚜都沒有反應

倒是 enabled ,_visible 還很正常...為什麼? 要怎嚜寫呢?

我的程式碼~~~~~

for (var i = 0; i<3; i++) {

var mc = _root.attachMovie("MC", "chkbox"+i, i);

mc._y = i*30+90{

if(i==1){

mc.A.selected=true //////沒效用

}else

mc.B.selected=true

}

已更新項目:

= = 程式碼亂掉了 重貼...

我的程式碼:

for (var i = 0; i<3; i++) {

var mc = _root.attachMovie("MC", "chkbox"+i, i);

mc._y = i*30

if(i==1){

mc.A.selected=true //////沒效用

}else {

mc.B.selected=true

}

}

2 個已更新項目:

Rick~

CheckBox確定有在元件庫...

enabled _visible 還有反應 selected就不行了

謝謝你提供另一個方法 試過OK

但如果要做偵聽程式

我的方式沒辦法成功 可否說明原因 要如何修改??

3 個已更新項目:

我的監聽程式---->

listenObj = new Object();

listenObj.click = function(obj) {

if (obj.target.selected == true) {

trace("Select=true")

if (obj.target.selected == false) {

trace("Select=false")

}

};

mc0.A.addEventListener("click", listenObj); /////為什麼沒反應勒

1 個解答

評分
  • 1 0 年前
    最佳解答

    原因可能是CheckBox可能沒辦法用這種方式產生

    試試以下的程式碼

    注意,確定組件"CheckBox"已經在元件庫裡了

    for (var i = 0; i<3; i++) {

    var mc = _root.attachMovie("MC", "mc"+i, i);

    mc._y = i*30;

    var ca=mc.attachMovie("CheckBox", "A", 1);

    var cb=mc.attachMovie("CheckBox", "B", 2);

    ca._x=0;

    cb._x=150;

    if(i==1){

    ca.selected=true;

    }else{

    cb.selected=true;

    }

    }

    經過測試是沒問題的

    2008-11-04 22:48:49 補充:

    老實說你的方式我也試不出錯誤的原因

    只能猜測組件無法被放在MovieClip中被attachMovie出來吧

    試試用我的方式看看

    var form:Object = new Object();

    form.click = function(eventObj:Object) {

    trace(eventObj.target._parent._name+","+eventObj.target._name+"="+eventObj.target.selected);

    };

    2008-11-04 22:49:07 補充:

    for (var i = 0; i<3; i++) {

    var mc = _root.attachMovie("MC", "mc"+i, i);

    mc._x = 100;

    mc._y = i*30;

    var ca = mc.attachMovie("CheckBox", "A", 1);

    var cb = mc.attachMovie("CheckBox", "B", 2);

    ca._x = 0;

    cb._x = 150;

    2008-11-04 22:49:15 補充:

    if (i == 1) {

    ca.selected = true;

    } else {

    cb.selected = true;

    }

    ca.addEventListener("click", form);

    cb.addEventListener("click", form);

    }

    2008-11-04 22:49:48 補充:

    因為補充內容的字數限制,所以被切斷了....

還有問題?馬上發問,尋求解答。