I enabled setIsTouchEnabled(true);
but i cant able to detect the touch begin and touch end in cocos2d-android.
my gamelayer is
public class GameLayer extends CCColorLayer
{
protected CCLabel _label;
public static CCScene scene()
{
CCScene scene = CCScene.node();
GameLayer layer = new GameLayer(ccColor4B.ccc4(90, 90, 255, 255));
layer.getLabel();
scene.addChild(layer);
return scene;
}
public CCLabel getLabel()
{
return _label;
}
protected GameLayer(ccColor4B color)
{
super(color);
this.setIsTouchEnabled(true);
CGSize winSize = CCDirector.sharedDirector().displaySize();
Context context = CCDirector.sharedDirector().getActivity();
_label = CCLabel.makeLabel("Tap On Me to START the game", "DroidSans", 32);
_label.setColor(ccColor3B.ccBLACK);
_label.setPosition(winSize.width/2, winSize.height/2);
addChild(_label);
}
@Override
public boolean ccTouchesBegan(MotionEvent event)
{
CGRect projectileRect = CGRect.make(_label.getPosition().x,_label.getPosition().y, _label.getContentSize().width,_label.getContentSize().height);
CGPoint touchLocation = CGPoint.ccp(event.getX(), event.getY());
CGRect targetRect = CGRect.make(event.getX(), event.getY(), 20, 20);
System.out.print(":touch Points are - :"+projectileRect+" _ - _ "+touchLocation+" _ - _ "+targetRect);
if (CGRect.intersects(projectileRect, targetRect))
{
System.err.print(": This is intersect function from App :");
}
return true;
}
@Override
public boolean ccTouchesEnded(MotionEvent event)
{
// Choose one of the touches to work with
CGPoint location = CCDirector.sharedDirector().convertToGL(CGPoint.ccp(50, 200));
System.out.printf("Got touch ", location);
CGSize winSize = CCDirector.sharedDirector().displaySize();
return true;
}
}
could any one figure me where i am going wrong? I am not getting any errors and no logs traced in logcat
Your code is good, just use System.out.println()
function to output text to console instead of System.out.printf(), System.err.print()
. When I have replaced them, text has appeared in console.
This:
System.out.print(":touch Points are - :"+projectileRect+" _ - _ "+touchLocation+" _ - _ "+targetRect);
change to:
System.out.println(":touch Points are - :"+projectileRect+" _ - _ "+touchLocation+" _ - _ "+targetRect);
and this:
System.err.print(": This is intersect function from App :");
change to:
System.out.println(": This is intersect function from App :");
and this too:
System.out.printf("Got touch ", location);
change to:
System.out.println("Got touch " + location);