您的位置:首页 > 移动开发 > Cocos引擎

Touch Handling in Cocos2D 3.x(二)

2015-11-02 07:40 323 查看
接受触摸

在Cocos2d 3.0中每一个CCNode和每一个CCNode的子类都可以接收触摸.你只需要开启一个选项.让我们在定制的初始化器里完成它.替换MainScene.m中init方法的代码:

- (id)init
{
if (self = [super init])
{
// activate touches on this scene
self.userInteractionEnabled = TRUE;
}
return self;
}


现在Cocos2d 将会知道我们想要在这个场景中处理触摸

处理触摸

Cocos2d 会通知我们4种不同的触摸事件:

当触摸开始时

当触摸移动时

当触摸结束时

当触摸被取消时

这些不同的方法使得你可以在屏幕上跟踪触摸,对于我们第一个例子来说,我们只需要被通知触摸开始的事件.

增加下面代码到MainScene.m中:

- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
CCLOG(@"Received a touch");
}


当用户开启一个Node的交互时,所有实现的触摸处理方法将会被调用.我们现在实现了touchBegan方法,它将在不管任何时候一个触摸开始时被调用.当触摸发生时我们使用CCLOG往console上打印调试信息.

现在运行app,每一次你触摸屏幕,一条”Received a touch”消息将显示在控制台中.现在你知道在你的游戏中如何接收任何节点的触摸了-这将是非常强大的功能.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息