作者jeaby (hello, ActionScript)
看板Flash
標題Re: [問題] 如何判斷場景上沒有該物件?
時間Wed Feb 22 18:26:40 2012
※ 引述《hot0903 (爆炸!BOOM BOOM~)》之銘言:
: 我的元件庫裡有4個物件...分別匯出給Action Script使用..
: 名稱是:co_mc1 co_mc2 co_mc3 co_mc4
: 剛開始宣告
: var total_co:int = 100;
: 用迴圈隨機出現這4個物件在場景上....
: var co:int;
: for ( var i:int = 1; i<=total_coin; i++ ) {
: co = Math.floor(Math.random()*4) + 1;
: if ( co == 1 ) {
: this["obj_mc" + i] = new co_mc1();
: } else if(co == 2){
: this["obj_mc" + i] = new co_mc2();
: }else if(co == 3){
: this["obj_mc" + i] = new co_mc3();
: }else {
: this["obj_mc" + i] = new co_mc4();
: }
: 之後利用拖曳的方式..將各個元件拖曳到指定位置後...物件就會從場景上消失..
: 然後我的問題是....現在我想要判斷場景上的co_mc3都消失後即可跳到"過關"畫面...
: 但不知道這判斷式該怎麼寫....可以拜託會的人教教我嗎??
: 謝謝!!!!!!!
方法很多,講一個給你參考
先用個變數存 co_mc3 總共有幾個實體
var co:int;
var num_mc3:int = 0;
for ( var i:int = 1; i<=total_coin; i++ ) {
co = Math.floor(Math.random()*4) + 1;
if ( co == 1 ) {
this["obj_mc" + i] = new co_mc1();
} else if(co == 2){
this["obj_mc" + i] = new co_mc2();
}else if(co == 3){
this["obj_mc" + i] = new co_mc3();
this["obj_mc" + i].ismc3 = true; // 方便用來判斷是否為 mc3
num_mc3++;
}else {
this["obj_mc" + i] = new co_mc4();
}
接下來每次有物件消失
就去判斷型態是否為 mc3
如果是就把 num_mc3 減掉
小於零就是 mc3 都消失了
if (this["obj_mc" + i].ismc3) {
num_mc3--;
if (num_mc == 0) {
// GAME OVER
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.246.113
→ hot0903:謝謝~~~但是我有用你的方法...還是說有錯誤耶... 02/25 16:02
→ hot0903:ismc3那邊怪怪的.... 02/25 16:03
看你前面的推文,你是用AS3吧?
那就把這行拿掉
this["obj_mc" + i].ismc3 = true; // 方便用來判斷是否為 mc3
if (this["obj_mc" + i].ismc3)
換成
if (this["obj_mc" + i] is co_mc3)
※ 編輯: jeaby 來自: 220.132.246.113 (02/29 16:06)
推 hot0903:謝謝~~~問題已解決!!!!!!!!!! 03/01 02:01