cocos2dx学习之触摸初学

前端之家收集整理的这篇文章主要介绍了cocos2dx学习之触摸初学前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. ackage org.game.eventtouch;
  2.  
  3. import org.cocos2d.layers.CCLayer;
  4. import org.cocos2d.nodes.CCDirector;
  5. import org.cocos2d.types.CGPoint;
  6.  
  7. import android.view.MotionEvent;
  8.  
  9. public class GameLayout extends CCLayer {
  10. public GameLayout(){
  11. //确定布景是否接受触摸事件
  12. this.setIsTouchEnabled(true);
  13. }
  14.  
  15. @Override
  16. public boolean ccTouchesBegan(MotionEvent event) {
  17. // TODO 自动生成方法存根
  18. float x=event.getX();
  19. float y=event.getY();
  20. CGPoint p1=CGPoint.ccp(x,y);
  21. CGPoint p2=CCDirector.sharedDirector().convertToGL(p1);
  22. System.out.println("p1.y="+p1.y);
  23. System.out.println("p2.y="+p2.y);
  24. System.out.println("begin");
  25. return super.ccTouchesBegan(event);
  26. }
  27.  
  28. @Override
  29. public boolean ccTouchesCancelled(MotionEvent event) {
  30. // TODO 自动生成方法存根
  31. System.out.println("cancelled");
  32. return super.ccTouchesCancelled(event);
  33. }
  34.  
  35. @Override
  36. public boolean ccTouchesEnded(MotionEvent event) {
  37. // TODO 自动生成方法存根
  38. System.out.println("ended");
  39. return super.ccTouchesEnded(event);
  40. }
  41.  
  42. @Override
  43. public boolean ccTouchesMoved(MotionEvent event) {
  44. // TODO 自动生成方法存根
  45. System.out.println("moved");
  46. return super.ccTouchesMoved(event);
  47. }
  48. }


为了得到适合的坐标,必须把Event得到的x,y坐标通过CCDirector.sharedDirector().convertToGL(p1);进行转换。而且这个方法得到的是一个CGPoint对象。所以还必须通过CGPoin得到所要的x,y



猜你在找的Cocos2d-x相关文章