문제

나는 Cocos2d-Piphone을 사용하여 스프라이트를 레이어에 배치하여 게임 플레이 필드를 설정하고 있습니다. 게임의 특정 지점에서는 게임 조건에 따라 특정 스프라이트를 제거해야합니다. 내가하고 싶은 것은 스프라이트 포인터의 배열을 설정하는 것입니다. 그러나 두 가지 질문이 있습니다.

스프라이트 포인터를 배열에 배치하는 가장 좋은 방법은 무엇입니까?

스프라이트에 대한 포인터만으로 Cocos2D에서 스프라이트를 어떻게 제거합니까? 부모 계층에서 수행하는 방법을 알고 있지만 메인 게임 루프에는 너무 런타임 집약적입니다.

미리 감사드립니다!

도움이 되었습니까?

해결책

그만큼 Sprite 클래스는 CocosNode, 당신은 전화 할 수 있어야합니다 spritePointer.parent.remove(spritePointer)

다른 팁

나는 그것을 알아. 다른 사람이 관심이 있다면, 그 방법은 다음과 같은 스프라이트 포인터 배열을 선언하는 것입니다.

Sprite * mySprites[10][10]; // assuming a 10x10 playfield where obstacles get placed

그런 다음 스프라이트를 설정할 때 :

mySprites[0][0] = [Sprite spriteWithFile: @"obstacle.png"];   
[myLayer add:mySprites[0][0]];  

스프라이트를 제거하려면 :

[myLayer remove:mySprites[0][0]];

또한 있습니다 [mySprite removeFromParentAndCleanup:YES].

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top