当前位置: 首页 > news >正文

cocos2d-lua:控件长按处理

--[[ 
控件长按处理
@params widget 目标控件
@params commCallback(function) 正常点击回调
@params allowLongPress(boolean) 是否支持长按
@params longPressCallback(function) 长按回调
@params intervalTime(float) 判断长按的时间间隔(默认0.5s)
使用示例:
setTouchEventListenerEx(
    widget,
    function(sender, eventType)
        print("正常点击")
    end,
    true,
    function(sender, eventType)
        print("长按")
    end,
    1.0
)
]]

function setTouchEventListenerEx(widget, commCallback, allowLongPress, longPressCallback, intervalTime)
    local socket, beginTime = require("socket")
    widget:addTouchEventListener(function(sender, eventType)
        if eventType == ccui.TouchEventType.began then
            beginTime = socket.gettime()
        elseif eventType == ccui.TouchEventType.ended or eventType == ccui.TouchEventType.canceled then
            local diffTime = socket.gettime() - beginTime
            local longPressTime = intervalTime or 0.5
            if allowLongPress and diffTime > longPressTime then
                if longPressCallback then
                    longPressCallback(sender, eventType)
                end
            else
                if commCallback then
                    commCallback(sender, eventType)
                end
            end
        end
    end)
end

 

相关文章:

  • 《网络工程师必读——网络系统设计》上市了
  • cocos2d-lua:控件翻转
  • 简单锁机脚本
  • cocos2d-lua:PageView的使用
  • 游戏机迎来新“三国时代”
  • Lua中字典型table的增删操作
  • Lua实战之整体移动table中的元素
  • IT人如何生存
  • cocos2d-lua:获取子节点
  • cocos2d-lua:剪裁头像
  • Symbian中操作ini文件
  • Lua中保留两位小数
  • 2006年第三季度中国ERP市场规模与市场份额
  • Lua实战之拆分整数
  • ORACLE四大战略拓展CRM市场
  • Akka系列(七):Actor持久化之Akka persistence
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Docker入门(二) - Dockerfile
  • javascript数组去重/查找/插入/删除
  • PV统计优化设计
  • QQ浏览器x5内核的兼容性问题
  • ReactNativeweexDeviceOne对比
  • Vue小说阅读器(仿追书神器)
  • 初识 webpack
  • 分布式任务队列Celery
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 如何学习JavaEE,项目又该如何做?
  • 使用 Docker 部署 Spring Boot项目
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 微服务入门【系列视频课程】
  • 我这样减少了26.5M Java内存!
  • 正则与JS中的正则
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 如何用纯 CSS 创作一个货车 loader
  • ​力扣解法汇总946-验证栈序列
  • #vue3 实现前端下载excel文件模板功能
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (C)一些题4
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (翻译)terry crowley: 写给程序员
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (顺序)容器的好伴侣 --- 容器适配器
  • (万字长文)Spring的核心知识尽揽其中
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)Google的Objective-C编码规范
  • (转)关于多人操作数据的处理策略
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET 常见的偏门问题
  • .Net各种迷惑命名解释
  • .net流程开发平台的一些难点(1)
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @RequestBody与@ResponseBody的使用
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解