0
redClick이라는 메서드가있는 ButtonLayer 클래스가 있습니다. redClick의 구현은 다음과 같습니다 ..CCAction (CCTintTo)를 다른 클래스의 메서드와 함께 호출하여 다른 클래스의 CCSprite를 변경합니다.
-(void) redClick {
[red runAction: [CCTintTo actionWithDuration:0.1 red:200 green:200 blue:200]];
}
변수 빨간색은 ButtonLayer 클래스의 CCSprite입니다.
CCLayer로부터 상속받은 MainLayer라는 또 다른 클래스가 있습니다. 이 클래스의 장면 방법은 다음과 같습니다 ..
+(CCScene *) scene
{
CCScene *scene = [CCScene node];
overlay = [ButtonLayer node];
HelloWorldLayer *layer = [HelloWorldLayer node];
[scene addChild: layer];
[scene addChild: overlay];
return scene;
}
을 MainLayer 내 ccTouchesBegan 방법, 나는 [오버레이 redClick]를 부르지 만, 나는 그것을 호출 할 때, 아무것도 변경되지 않습니다. CCSprite는 변경되지 않습니다.
redClick 메서드를 클래스 메서드로 만들고 [ButtonLayer redClick]을 호출하여 작동되도록했습니다. HelloWorldLayer와 씬 둘 다에 오버레이를 추가 한 후에 이것을 사용했습니다. 어느 쪽이든 작동합니다. 클래스 메소드 변환없이 위와 같이 레이어에 추가하면 작동하지 않습니다. 왜 .. – user1371455