有没有办法在与对象相交时删除当前的MC,即使您不知道对象名称? 我想删除“currentMC”,不知道如何正确设置它。
//see if objects intersect;
stage.addEventListener(Event.ENTER_FRAME, checkHitAreare);
function checkHitAreare(evt:Event) {
var currentMC:MovieClip = MovieClip(evt.target);
if (this.recp_mc.hitTestObject(currentMC)) {
stage.addEventListener(Event.ENTER_FRAME, checkHitAreare);
removeChild(currentMC);
} else {
void {};
}
}
答案 0 :(得分:1)
尝试这样的事情:(代码可能会有轻微的错误)
//查看对象是否相交; stage.addEventListener(Event.ENTER_FRAME,checkHitAreare);
function checkHitAreare(evt:Event) {
var currentMC:MovieClip;
var removeMCs:Array = [];
for(var i=0; i < stage.numChildren; i++){
currentMC = MovieClip(stage.getChildAt(i));
if (currentMC != this.recp_mc && this.recp_mc.hitTestObject(currentMC)) {
removeMCs.push(currentMC);
}
}
for(var j:int = 0 ; j < removeMCs.length;j++)
{
stage.removeChild(removeMCs[j]);
}
}
如果任何对象与this.recp_mc相交,此代码将检查每一帧,如果是,则将删除它们。
请注意,您可能必须保护该功能免受舞台上其他动画片段的影响,并且您不希望将其删除。