Git Product home page Git Product logo

ccnode-sfgesturerecognizers's Introduction

Purpose

CCNode+SFGestureRecognizers is a category designed to simplify adding UIGestureRecognizers support in cocos2d. It removes the need to change cocos2d source code so that you can update your cocos2d anytime new versions are released.

Follow me on twitter

Supported OS & SDK Versions

  • iOS 4.0 (Xcode 4.3, Apple LLVM compiler 3.1)
  • cocos2d version 1.x or 2.x works fine.

ARC Compatibility

CCNode+SFGestureRecognizers automatically works with both ARC and non-ARC projects through conditional compilation. There is no need to exclude CCNode+SFGestureRecognizers files from the ARC validation process, or to convert CCNode+SFGestureRecognizers using the ARC conversion tool.

Installation

If you are using CocoaPods, you can just add CCNode+SFGestureRecognizers to your Podfile. If you didn't use it before I'm recommending you check it out: http://cocoapods.org/

Manual Install

To use the CCNode+SFGestureRecognizers category in an app, just drag the category files (demo files and assets are not needed) into your project. Include the CCNode+SFGestureRecognizers.h in your Prefix.pch file so that you can use it everywhere.

Properties

CCNode+SFGestureRecognizers adds following properties / methods to CCNode:

@property (nonatomic, assign) BOOL isTouchEnabled;

Defines if touches are enabled, if you disable it no gesture will be working.

@property (nonatomic, assign) CGRect touchRect;

Defines touchable rectangle in node local coordinate space.

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

Adds gesture recognizer to node.

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

Removes gesture recognizer from node.

- (NSArray*)gestureRecognizers;

Returns all gesture recognizers that are bound to this node.

- (BOOL)isPointTouchableInArea:(CGPoint)pt;

Tests if point is touchable in selected area without testing children nodes (node must be visible and running to pass this check, isTouchEnabled also has to be set to YES )

- (BOOL)isNodeInTreeTouched:(CGPoint)pt;

Tests if points is touchable in a node or any of its children nodes.

- (BOOL)isPointInArea:(CGPoint)pt;

Tests if point is inside in selected area without testing children nodes (node must be visible and running to pass this check, ignores isTouchEnabled ).

CCNode+SFGestureRecognizers also adds this property in UIGestureRecognizer class:

@property (nonatomic, readonly) CCNode *node;

Node that this gesture is added to.

ccnode-sfgesturerecognizers's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.