作者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
1F:→ hot0903:谢谢~~~但是我有用你的方法...还是说有错误耶... 02/25 16:02
2F:→ 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)
3F:推 hot0903:谢谢~~~问题已解决!!!!!!!!!! 03/01 02:01