【问题标题】:Cocos2D Touch HELPCocos2D 触控帮助
【发布时间】:2011-06-24 21:06:21
【问题描述】:

我是 cocos2d 库的新手,之前使用过 libgdx 和纯 openGL。如何在 Cocos2d for Android 中处理触摸事件?

【问题讨论】:

    标签: android cocos2d-android


    【解决方案1】:

    在android上处理触摸的4种方法定义如下:

    public boolean ccTouchesBegan(MotionEvent event);
    
    public boolean ccTouchesMoved(MotionEvent event);
    
    public boolean ccTouchesEnded(MotionEvent event);
    
    public boolean ccTouchesCancelled(MotionEvent event);
    

    这些是您应该使用的侦听器。

    并在 CCLayer 类的构造函数中添加以下行以启用触摸事件。

    this.setIsTouchEnabled(true); 
    

    【讨论】:

    • 这些函数没有触发的任何原因?
    【解决方案2】:

    要启动触摸事件,您必须首先设置变量

    isTouchEnabled_=true;
    

    setIsTouchEnabled(true);
    

    之后触摸将起作用

    您可以使用以下方法:-

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

    我像在 CCColorLayer 中一样使用它:-

    protected GameLayer(ccColor4B color) {
            super(color);
            // TODO Auto-generated constructor stub
            isTouchEnabled_=true;
    }
    
          @Override
              public boolean ccTouchesBegan(MotionEvent event) {
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多