zoukankan      html  css  js  c++  java
  • cocos2dx C++为Sprite添加触摸事件监听器

    1.首先头文件定义事件处理的函数原型

    private:
    	bool onTouchBegan(Touch* tTouch,Event* eEvent);//手指按下事件
    	void onTouchMoved(Touch* tTouch,Event* eEvent);//手指移动事件
    	void onTouchEnded(Touch* tTouch,Event* eEvent);//手指离开事件
    

    2.实现原型

    bool ShopItem::onTouchBegan(Touch* tTouch,Event* eEvent){
     if (sprite->getBoundingBox().containsPoint(tTouch->getLocation())){//判断触摸点是否在目标的范围内
    
        /**这里为事件内容**/
        return true;
     }else
        return false;
     }	
    }
    
    void ShopItem::onTouchMoved(Touch* tTouch,Event* eEvent){
    	/**这里为事件内容**/
    }
    
    void ShopItem::onTouchEnded(Touch* tTouch,Event* eEvent){
    	/**这里为事件内容**/
    }

    3.绑定事件

    auto listener = EventListenerTouchOneByOne::create();
    	listener->onTouchBegan = CC_CALLBACK_2(ShopItem::onTouchBegan, this);
    	listener->onTouchMoved = CC_CALLBACK_2(ShopItem::onTouchMoved, this);
    	listener->onTouchEnded = CC_CALLBACK_2(ShopItem::onTouchEnded, this);
    	this->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, sprite);
    

      

  • 相关阅读:
    git配置公钥,私钥
    vscode之vue文件代码格式化代码无效解决办法
    [python 并行3]进程
    [spring 并行6]分布式
    [spring 并行5]GPU
    [python 并行2]线程
    [spring 并行4]异步
    [python 并行1]简介
    [flask] flask api + vue 跨域问题
    [spring学习4] MVC
  • 原文地址:https://www.cnblogs.com/luorende/p/6684155.html
Copyright © 2011-2022 走看看