zoukankan      html  css  js  c++  java
  • 触摸输入

    使用CCLayer响应触摸事件:
    开启了层的触摸输入支持后,就可以在层中处理触摸事件了,当引擎接收到触摸事件就会调用下面的方法:
    1 virtual void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent);
    2 vritual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);
    3 virutal void ccTouchesEnded(CCSet *pTouches, CCEvent *pEvent);
    4 virtual void ccTouchesCancelled(CCSet *pTouches, CCEvent *pEvent);
    以上四个方法来自于CCStandardTouchDelegate接口,是触摸事件的回调函数。
    在实际开发中,通常需要单独建立一个触摸层。
     
     
    两种触摸事件:标准触摸事件,带目标的触摸事件
     
    标准触摸事件:
    任何一个游戏元素都可以接收触摸事件,使一个对象接收标准触摸事件,需要以下步骤;
        需要此对象实现CCStandardTouchDelegate接口;
        使用addStandardDelegate方法把自己注册给触摸事件分发器;
        重载事件回调函数,处理触摸事件;
        当不需要接收触摸事件时,使用removeDelegate方法来注销触摸事件的接受。
     
    带目标的触摸事件:
    1 virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
    2 virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
    3 virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);
    4 virtual void ccTouchCancelled(CCTouch *pTouch, CCEvent *pEvent);
    ccTouchBegan返回一个布尔值,表示声明是否要捕捉这个触摸点,只有在此方法中捕捉到触摸点才会继续引发其他3个事件。
     
    带目标触摸事件使用步骤:
    实现CCTargetedTouchDelegate接口;
    使用addTargetedDelegate方法注册到触摸事件分发器;
    重载事件回调函数。注意,我们必须在触摸开始事件中针对需要接受的事件返回true以捕捉事件。
    当不需要接收触摸事件时,使用removeDelegate方法来注销触摸事件的接受。
  • 相关阅读:
    深入理解JVM(二)--对象的创建
    深入理解JVM(一) -- 自动内存管理机制
    代理模式(Proxy)
    心知天气数据API 产品的高并发实践
    Jenkins 构建踩坑经历
    log4net SmtpAppender 踩坑总结
    从 ASP.NET Core 2.1 迁移到 2.2 踩坑总结
    在Windows上安装 Consul
    redis-desktop-manager 0.9.3 安装(最后一个免费版本)
    在Windows上安装Redis
  • 原文地址:https://www.cnblogs.com/Blogs-young-chan/p/5223481.html
Copyright © 2011-2022 走看看