2013-06-15 2 views
0

Я использовал связанный список, чтобы сделать спрайт-дисплей в приложении для cocos2d-android, если спрайт уничтожен, он должен быть навсегда уничтожен и удален, но этот спрайт исчезает и снова появляется , не знаю, как удалить спрайт навсегда, любые подсказки? Это код для удаления.Как сделать спрайт удален постоянно в cocos2d-android

for (CCSprite ship2 : shipsToDelete) 
    { 
     _ships2.remove(ship2); 
     removeChild(ship2, true); 

     } 

ответ

1
LinkedHashMap<Object, Object> hashMap1; 
LinkedHashMap<Object, Object> hashMap2 ; 

for (Object key : hashMap1.keySet()) { 
    hashMap2.remove(key); 
} 

for (CCSprite ship2 : shipsToDelete){ 
    if(_ships2.contains(ship2){ 
     _ships2.remove(ship2); 
     removeChild(ship2, true); 
    } 
} 

Это будет работать только если _ships2 = shipsToDelete; но элемент из обоих _ships2, shipsToDelete будет удалить, я вещь, он не будет входить в если положение, когда _ships2 = shipsToDelete.clone(), так что вы должны использовать понравившуюся hashmap или точную ссылку на объект

+0

спасибо за ваш ответ, я использовал как этот защищенный LinkedList _ships2; в cocos2d ключевое слово по умолчанию для любого объекта - CCSprite, так как я могу использовать вышеуказанный код? @ Sandy09 –