IPhone e Cocos2d Sprites / Camadas
-
11-07-2019 - |
Pergunta
Eu estou usando cocos2d-iphone para Sprites lugar em uma camada de configurar um playfield jogo. Em determinados pontos no jogo, certas Sprites precisam ser removidos com base em condições de jogo. O que eu gostaria de fazer é configurar uma matriz de ponteiros Sprite, mas eu tenho duas perguntas:
Qual é a melhor maneira de colocar ponteiros Sprite em uma matriz?
Como se remover o Sprite em cocos2d com apenas um ponteiro para a Sprite? Eu sei como fazê-lo a partir de sua camada pai, mas que é muito tempo de execução intensivo para o loop do jogo principal.
Agradecemos antecipadamente!
Solução
Os herda classe Sprite
de CocosNode
, então você deve ser capaz de chamar spritePointer.parent.remove(spritePointer)
Outras dicas
Eu percebi isso. Se alguém estiver interessado, a maneira de fazê-lo é declarar uma matriz de ponteiros Sprite, tais como:
Sprite * mySprites[10][10]; // assuming a 10x10 playfield where obstacles get placed
Então, quando a criação de seu Sprites:
mySprites[0][0] = [Sprite spriteWithFile: @"obstacle.png"];
[myLayer add:mySprites[0][0]];
Para remover o Sprite:
[myLayer remove:mySprites[0][0]];
Há também [mySprite removeFromParentAndCleanup:YES]
.