Felix
Felix

Reputation: 159

Cocos2D Touch HELP

I`m new to cocos2d library, I worked before with libgdx and pure openGL. How can I handle a touch event in Cocos2d for Android?

Upvotes: 1

Views: 687

Answers (2)

Karan Rana
Karan Rana

Reputation: 638

To start touch event you have to first to set variable

isTouchEnabled_=true;

or

setIsTouchEnabled(true);

After that touch will work

You can use methods as:-

  @Override
      public boolean ccTouchesBegan(MotionEvent event) {
}
      @Override
    public boolean ccTouchesMoved(MotionEvent event) {
}

      @Override
        public boolean ccTouchesEnded(MotionEvent event) {
}
      @Override
      public boolean ccTouchesCancelled(MotionEvent event) {
}

I have used this like as in CCColorLayer:-

protected GameLayer(ccColor4B color) {
        super(color);
        // TODO Auto-generated constructor stub
        isTouchEnabled_=true;
}

      @Override
          public boolean ccTouchesBegan(MotionEvent event) {
    }

Upvotes: 0

Dair
Dair

Reputation: 16240

The 4 methods for handling touches on android are defined as follows:

public boolean ccTouchesBegan(MotionEvent event);

public boolean ccTouchesMoved(MotionEvent event);

public boolean ccTouchesEnded(MotionEvent event);

public boolean ccTouchesCancelled(MotionEvent event);

These are the listeners you should use.

And also add below line in constructor of your CCLayer class to enable touch event.

this.setIsTouchEnabled(true); 

Upvotes: 3

Related Questions