최근에 cocos2d v3.0을 탐색하기 시작했습니다. 나는 기본적인 것들을 시도하고 있지만 약간의 문제가 있습니다.는 CCNode에서 터치를 감지 할 수 없습니다. - cocos2d v3.0
기본적으로 Square 개체를 만들기 위해 CCSprite를 서브 클래 싱합니다. 그 후 HelloworldScene에 정사각형 객체를 추가하면 내 Square Sprite에서 접촉을 원합니다. 어떤 이유로 그것은 작동하지 않습니다.
다음은 코드 --header 파일
#import "CCSprite.h"
@interface Square : CCSprite
@end
implementaion file
#import "Square.h"
#import "cocos2d.h"
@implementation Square
-(id)init {
// Apple recommend assigning self with supers return value
self = [super init];
if (!self) return (nil);
self.contentSize = [[CCDirector sharedDirector] viewSize];
self.userInteractionEnabled = YES;
return self;
}
-(void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
CCLOG(@"touch received");
}
@end
그리고 여기에 안녕하세요 세계 init
방법이다
- (id)init
{
// Apple recommend assigning self with supers return value
self = [super init];
if (!self) return(nil);
Square *_square = [[Square alloc] initWithImageNamed:@"background.png"];
[_square setPosition:CGPointZero];
[self addChild:_square];
// done
return self;
}
내가 코드를 실행할 때 화면에 스프라이트를 볼 수 있지만 내가 누를 때 그것에 아무것도 터치가 시작된 적이 발생하지 않습니다. 내가 여기서 무엇을 놓치고 있니?
감사합니다. 다른 클래스의 지정된 초기화 프로그램과 같이이 정보에 대해 더 자세히 알 수있는 곳은 어디입니까? - (id) initWithTexture : (CCTexture *) 텍스처 rect : (CGRect) rect rotate : (BOOL) rotate; CCSprite에 대해 유일하게 지정된 이니셜 라이저? – lionserdar
@lionserdar : 이것은 cocos2d 버전 0.9에서 2.1.x까지는 사실이지만이 경고가 3.0에도 계속 적용되는지는 알 수 없습니다. : 코코스를 덮어 씌울 때 [super onSomething]을 잊지 마라. 뭔가 방법 ... – YvesLeBorg
흠, 알 겠어. 네, [super onEnter]에 전화 했어요. 고마워 .. – lionserdar