我有一個遊戲,在AS3中有一個文檔類和一個自定義類,它附加到我的.fla中的動畫片段。該對象的實例多次/秒。我想要刪除這些實例,比方說,它們有100個。 (因爲一段時間後性能問題)實例在創建後存儲在一個Array中。AS3刪除對象的所有實例?
0
A
回答
0
您可以使用this.removeChild(obj);
刪除它們,obj是您的數組中的對象。所以你需要循環訪問數組並將其刪除。
0
,將刪除所有的對象時,對象是超過100
if(array.length > 100)
{
for(var i:int = array.length - 1; i > -1; i--)
{
stage.removeChild(array[i]);// or any other parent containing instances
array.pop();
//array[i] = null; // if you want to make them null instead of deleting from array
}
}
提示:負迴路(我 - )是更快的在性能上比正循環(我+ +)。
提示:pop()比unshift()更快。
更新:
,將刪除,只有當他們超過100個對象,導致只有100最後的對象仍然在舞臺上。
if(array.length > 100)
{
for(var i:int = array.length - 1; i > -1; i--)
{
if(array.length > 100)
{
stage.removeChild(array[i]);// or any other parent containing instances
array.unshift();// if you want to delete oldest objects, you must use unshift(), instead of pop(), which deletes newer objects
//array[i] = null; // if you want to make them null instead of deleting from array
}
}
+0
這是比不變更更好的性能嗎?我也會假設你不想真的清空整個集合,而是刪除最舊的引用。 – shaunhusain
0
/****** MyClass.as *********/
public class MyClass extends Sprite{
private var myVar:int=8567;
private function myClass():void{
//blablabla
}
public class destroy():void{
myVar = null;
this.removeFromParent(true); //method of Starling framework
}
}
/******** Main.as ****************/
public var myInstance:MyClass = new Myclass();
//Oh!! i need remove this instance D:
myInstance.destroy();
相關問題
- 1. AS3 - 刪除對象
- 2. NotifyCollectionChangedAction:刪除對象實例?
- 3. 刪除所有CKEditor實例
- 4. 從舞臺AS3中刪除所有影片剪輯的實例
- 5. 刪除列表中的所有實例
- 6. 從電影AS3中刪除所有定時器對象閃存
- 7. 核心數據刪除實體對象時也刪除所有關係對象
- 8. Ninject刪除/替換InThreadScope對象實例
- 9. C#NHibernate - 刪除所有對刪除對象的引用
- 10. 從複雜數據結構中刪除對象的所有實例
- 11. 移除Dart中Polymer對象的所有其他實例的類?
- 12. Grails:刪除所有關聯的對象
- 13. 刪除Parse.com中的所有舊對象
- 14. 無法刪除所有對象的NSMutableArray
- 15. 刪除架構的所有對象
- 16. 移除舞臺上的所有實例as3
- 17. 如何刪除在Rails 3的命令行中已經刪除關聯的對象的所有實例?
- 18. 如何從ManagedObjectContext中刪除給定實體的所有對象
- 19. AS3 gotoAndStop導致對象自行刪除
- 20. 在django中,如何在刪除某種類型的實例時刪除所有相關的對象?
- 21. flash as3刪除所有子女
- 22. ObjectListView - 如何刪除所有對象
- 23. 從UIView中刪除所有對象
- 24. 刪除所有兒童對象數組
- 25. 刪除和刪除矢量中的所有對象
- 26. 如何爲對象的所有實例調用對象函數
- 27. 計算as3中的所有對象
- 28. 在C:\上刪除acad.lsp的所有實例,除了
- 29. 刪除對象和所有相關的對象
- 30. 遍歷所有對象並刪除id匹配的對象?
那麼,有什麼問題,你有一個數組來所有的人一個參考,你有一些容器(假設他們是某種精靈/影片剪輯/的DisplayObject/UIComponents的)數組的時候。長度大於100開始從列表開始處取消移動項目並從容器中移除它們,則可以重新使用/回收這些實例或讓它們被垃圾收集(重新使用更好記住,減少,重用, 回收)。 myArray.unshift()從列表中抽取第一個項目(表現得像一個隊列,FIFO先進先出) – shaunhusain