CCNode-SFGestureRecognizers 1.0

CCNode-SFGestureRecognizers 1.0

测试测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2014年12月

Krzysztof ZablockiKrzysztof Zabłocki维护。



  • 作者
  • Krzysztof Zabłocki

目的

CCNode+SFGestureRecognizers是一个分类,用于简化在cocos2d中添加UIGestureRecognizers支持。它消除了修改cocos2d源代码的需要,因此您可以随时在新版本发布时更新您的cocos2d。

支持的操作系统及SDK版本

  • iOS 4.0 (Xcode 4.3, Apple LLVM编译器 3.1)
  • cocos2d 1.x或2.x版本运行正常。

ARC兼容性

CCNode+SFGestureRecognizers通过条件编译自动与ARC和非ARC项目一起工作。不需要从ARC验证过程中排除CCNode+SFGestureRecognizers文件,也不需要使用ARC转换工具转换CCNode+SFGestureRecognizers。

安装

如果您正在使用CocoaPods,只需将CCNode+SFGestureRecognizers添加到您的Podfile中。如果您之前没有使用过,建议您检查一下:https://cocoapods.org.cn/

手动安装

要在应用程序中使用CCNode+SFGestureRecognizers分类,只需将分类文件(不需要demo文件和资源)拖放到您的项目。在Prefix.pch文件中包含CCNode+SFGestureRecognizers.h,以便您可以在任何地方使用它。

属性

CCNode+SFGestureRecognizers向CCNode添加以下属性和方法

@property (nonatomic, assign) BOOL isTouchEnabled;

定义是否启用触摸,如果您禁用它,则没有任何手势将工作。

@property (nonatomic, assign) CGRect touchRect;

定义节点局部坐标系中的触摸矩形。

- (void)addGestureRecognizer:(UIGestureRecognizer*)aGestureRecognizer;

向节点添加手势识别器。

- (void)removeGestureRecognizer:(UIGestureRecognizer*)aGestureRecognizer;

从节点删除手势识别器。

- (NSArray*)gestureRecognizers;

返回绑定到该节点的所有手势识别器。

- (BOOL)isPointTouchableInArea:(CGPoint)pt;

测试点是否在选择区域中可触摸而无需测试子节点(节点必须可见并运行才能通过此检查,isTouchEnabled也要设置为YES)

- (BOOL)isNodeInTreeTouched:(CGPoint)pt;

测试点是否在节点或其子节点中可触摸。

- (BOOL)isPointInArea:(CGPoint)pt;

测试点是否在选择区域中而无需测试子节点(节点必须可见并运行才能通过此检查,忽略isTouchEnabled)。

CCNode+SFGestureRecognizers还在UIGestureRecognizer类中添加了此属性

@property (nonatomic, readonly) CCNode *node;

添加此手势的节点。