Touch Handling in Cocos2D 3.x(六)
发布时间:2020-12-14 16:41:00 所属栏目:百科 来源:网络整理
导读:使英雄变成可触碰的对象 这是另一个非常有用的特性.很多用户需要捡起已经存在的英雄然后满屏幕移动它们.让我们按以下步骤实现该功能: 如果用户触摸屏幕空白位置,一个新的英雄将被创建 如果用户触摸一个已经存在的英雄,不会有新英雄被创建,相反Ta可以移动已存
使英雄变成可触碰的对象 这是另一个非常有用的特性.很多用户需要捡起已经存在的英雄然后满屏幕移动它们.让我们按以下步骤实现该功能:
为了实现这些,我们需要创建一个CCSprite的子类.前进去创建一个名为CCDragSprite的类,该类继承自CCSprite: 在CCDragSprite.h中添加以下一行导入Cocos2d的头文件: #import "cocos2d.h"
现在我们可以在CCDragSprite.m中关注实现部分了!我想你保证它将惊人的简单.我们需要做如下步骤:
在CCDragSprite.m中的@implementation和@end之间添加如下代码: - (void)onEnter {
self.userInteractionEnabled = TRUE;
}
- (void)touchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
}
- (void)touchMoved:(UITouch *)touch withEvent:(UIEvent *)event
{
// we want to know the location of our touch in this scene
CGPoint touchLocation = [touch locationInNode:self.parent];
self.position = touchLocation;
}
现在你应该大致了解上面的代码了.当我们的CCDragSprite进入屏幕时,我们打开它的交互选项.我们需要增加一个touchBegan方法的空白实现,这是为了让Cocos2d知道我们想要认领该触摸(否则下一层的responder将会接收到这次触摸). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |