2012-02-22 1 views
0

PopuupScene 레이어CCLayer <CCRGBAProtocol> setOpacity :] 알 수없는 선택

@interface PopupScene : CCLayer <CCRGBAProtocol> 

오류 메시지

2월 22일 11시 6분 31초 알 수없는 MyProject를 [443] - [PopupScene setOpacity :] : 인스턴스로 전송 된 인식 할 수없는 선택자 0xa68ca80 Feb 22 11:06:31 unknown MyProject [443] : * 0123으로 인해 종료되는 앱캐치되지 않는 예외 'NSInvalidArgumentException', 이유 : '- [PopupScene setOpacity :] : 인식 할 수없는 선택기 인스턴스에 전송

내가 & 페이드 어떻게 ...

을 CCRGBAProtocol는 setOpacity 방법이 있지만 오류가 발생했습니다 밖으로 CCLayer? (불투명도 애니메이션, CCFadeIn & CCFadeOut)

+0

당신이 PopupScene 구현에 setOpacity/불투명도 방법에 대한 정의를 추가했습니다. 프로토콜을 구현해야하므로 setOpacity 메소드를 호출하는 곳 또는 시스템 라이브러리에서 호출되는 곳? – Ravin

+0

@ChangUZ : 불투명도를 설정할 수있는 정보를 추가했습니다. 내 나쁜, 오늘 까지이 하위 클래스에 대해 몰랐어요. – YvesLeBorg

답변

0

CCLayer는 CCLayer.h에서 살펴본 프로토콜을 구현하지 않습니다. 레이어에 투명도를 설정해야하는 경우 손으로 직접해야합니다 (@Ravin이 제안한대로). 기본적으로 setOpacity 메서드를 선언하고 구현하면 해당 메서드 내에서 레이어의 불투명도를 설정하기 위해 수행해야하는 작업을 수행합니다. 레이어가 겹쳐진 스프라이트를 포함하는 경우 달성하려는 결과와 프로토콜을 구현하지 않는 다른 오브젝트를 얻는 것이 까다로울 수 있습니다.

난 그냥 (urghhh) 당신적인 Cocos2D 버전 1.0.1을 사용하는 경우

CCLayerColor가 CCRGBAProtocol 프로토콜을 구현 CCLayer의 서브 클래스가있는 것으로 나타났습니다. CCLayer에서

모든 기능은 유효 플러스 다음과 같은 새로운 기능 :

불투명

RGB 색상