저는 최근에 새로운 iOS 프로젝트를 시작했습니다. 나도 안드로이드를 지원하고 싶다. 그래서 나는 최신 cocos2d-iphone (cocos2d-swift)으로 SpriteBuilder를 선택한다.안드로이드에서 CCClippingNode가 작동하지 않습니다.
콘텐츠 클리핑에 CCClippingNode를 사용합니다. 그것은 24 비트 깊이 버퍼 및 8 비트 스텐실 버퍼가 필요합니다, 그래서 응용 프로그램에 AppDelegate.m에 다음 줄을 추가하는 데 필요한 : didFinishLaunchingWithOptions :
[cocos2dSetup setObject:@GL_DEPTH24_STENCIL8_OES forKey:CCSetupDepthFormat];
자연스럽게이 iOS 용 전용입니다. 로그에 따르면 그것은 시작에 다음 줄 기록으로, 추가 코드없이 안드로이드에 대한 작동합니다 : 나는 코드에서 CCClippingNode를 만들 때
EGL_DEPTH_SIZE = 24
EGL_STENCIL_SIZE = 8
후에는 로그 :
[CCClippingNode initWithStencil:]_block_invoke : Stencil buffer is not enabled; enable it by passing GL_DEPTH24_STENCIL8_OES into the depthFormat parrameter when initializing CCGLView. Until then, everything will be drawn without stencil.
그것은 일을 GL_DEPTH24에 CCSetupDepthFormat을 설정 한 후 (아이폰 OS GL_STENCIL_BITS에
glGetIntegerv(GL_STENCIL_BITS, &_stencilBits);
은 8 : CCClippingNode.m에 다음 줄은 0 반환하기 때문에 _STENCIL8_OES). Android의 경우 0입니다.
Android에서도 작동하려면 어떻게해야합니까?
내가 SpriteBuilder 1.4.0-beta.3 및적인 Cocos2D-스위프트 버전을 사용하는 문제가 어디에 내가 발견
야, 너를 사랑해! 고맙습니다. – CodyMace