2012-02-02 99 views
0

我试图开始开发cocos2d游戏。所以,我是cocos2d的新手,但我在iPhone上开发了几个应用程序。我安装了cocos模板(v2.0)并使用box2d phisics创建了新项目。在这里,我可以看到一个带有块和一些菜单的演示项目。当我点击屏幕时,出现新块,并落到屏幕底部。比必须实施在这里:触摸行动在cocos2d-iphone

- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    //Add a new body/atlas sprite at the touched location 
    for(UITouch *touch in touches) { 
     CGPoint location = [touch locationInView: [touch view]]; 

     location = [[CCDirector sharedDirector] convertToGL: location]; 

     [self addNewSpriteAtPosition: location]; 
    } 
} 

所以,精灵触摸结束时出现。 但触摸开始或移动时如何做某事?我无法找到椰子的方法。我看到一些教程,有这样的方法:

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event { 
    return YES; 
} 

但它从来没有调用...我是什么错误?

回答

1

实施

(BOOL)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

,并确保你在该层init方法有

self.isTouchEnabled = YES;. 

+0

如果你想使用ccTouchBegan而不是ccTouches,你需要添加目标代理。看到这里:http://www.cocos2d-iphone.org/forum/topic/8354 – davbryn 2012-02-02 10:59:32

+0

是的。它是'toucES'。现在它正在工作,TNX。 – SentineL 2012-02-02 11:00:30

0

实现:

- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event { 
     // whatever is needed here 
     return YES; 
} 
在你的cocos2d类

(同实施ccTouchesEnded),那么它就会被调用。

+0

thx回应,但正如我所说,我打了它。我把这个代码放在NSLog(@“qwd3”);'但是没有登录消息被触发......这就是为什么我问... – SentineL 2012-02-02 10:56:50