首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DisplayList中删除数组对象

从DisplayList中删除数组对象
EN

Stack Overflow用户
提问于 2011-01-04 22:53:14
回答 2查看 577关注 0票数 0

我正在为iPhone开发一款使用闪存的游戏,由于内存至关重要,我想清理掉不需要的displayObjects。我需要删除的所有对象都是使用MovieClips ()从一个数组到另一个数组的拼接。下面是代码。

代码语言:javascript
复制
public function onTick(e:TimerEvent):void 

{ randomNr = Math.random();

代码语言:javascript
复制
if ( randomNr > 0.9 )

{ var newFriend:Friend =新好友( randomX,-15 );newFriend.cacheAsBitmap =真;army.push(newFriend);addChild(newFriend);}

对于(var i:int = 0;i< army.length;i++) { armyi.y += 3;

代码语言:javascript
复制
if (avatar.hitTestObject(army[i])) 
{
 mood = false;
 TweenLite.to(army[i], .3, {x:308, y:458, scaleX:.7, scaleY:.7, ease:Expo.easeOut, onComplete:fadeFace, onCompleteParams:[army[i],mood]});  
 deleted.push(army.splice(i,1));
}

}}

代码语言:javascript
复制
private function cleanUp(e:MouseEvent):void

{ var totalDel:int = deleted.length;for(var i:int = 0;i< totalDel ;i++) { removeChild(deletedi);} trace(totalDel +“从删除中删除”);}

我的问题是在尝试使用CleanUp函数时出现错误。我可以跟踪数组中的所有对象,并且它们显示为对象朋友,但是当尝试从displayList中删除时,我得到了这个错误: Error #1034:类型强制失败:无法将[]@2c11309转换为flash.display.DisplayObject。

可能是我使用的错误方法!?需要一些指导,请:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-10 20:56:58

一个程序员朋友最终给了我一个完美的解决方案:

代码语言:javascript
复制
private function cleanUp(arr:Array):void
        {
            var toDelete:DisplayObject;
            var totalDel:int = 0;

            while(arr.length >0)
            {
                toDelete = arr[0];
                toDelete.parent.removeChild(toDelete);
                arr.shift();
                totalDel++
            }
            //trace(totalDel + "deleted from array " + arr.length + " left");
        }

这样,所有对象都会被删除,而不会折叠数组,这正是我需要的……希望这能帮助有同样问题的人。

票数 0
EN

Stack Overflow用户

发布于 2011-01-05 00:07:35

尝试将每个“朋友”转换为一个显示对象:

代码语言:javascript
复制
var totalDel:int = deleted.length; 
for(var i:int = 0; i < totalDel ;i++) {
var toDelete:DisplayObject = deleted[i] as DisplayObject;
removeChild(toDelete);
trace(totalDel + "Dele from deleted");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4594903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档