博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Quick cocos2dx-Lua(V3.3R1)学习笔记(十三)-----继续触摸事件之多点触摸
阅读量:4331 次
发布时间:2019-06-06

本文共 2235 字,大约阅读时间需要 7 分钟。

在前面,我们提过了单点触摸,下面我们就试一下多点触摸的用法(我用的是cocos code ide进行手机调试,不会的,进入前一篇查看)

function MainScene:ctor()    local sprite = display.newSprite("close.png")   --自己随便找个图片资源吧    sprite:align(display.CENTER, display.cx, display.cy)    sprite:addTo(self)    sprite:setTouchEnabled(true)                            sprite:setTouchMode(cc.TOUCHES_ALL_AT_ONCE)           sprite:addNodeEventListener(cc.NODE_TOUCH_EVENT, function (event)          dump(event)             return true    end)end

只要吧setTouchMode填入多点触摸就行,我们一开始要是不知道这个event里面有什么,我们先dump他,看看他里面有是呢么。在pc上面运行,点击一下看看

我们看到控制台输出,看到points是一个table,我们电脑鼠标只能单点,就输出了points[0]的信息,

在多点触摸中 ,它还拥有added,removed两个独有事件。

function MainScene:ctor()    local layer = display.newLayer()    layer:addTo(self)        layer:setTouchEnabled(true)                            layer:setTouchMode(cc.TOUCHES_ALL_AT_ONCE)           layer:addNodeEventListener(cc.NODE_TOUCH_EVENT, function (event)           if event.name == "began" then            print("触摸开始")        elseif event.name == "added" then            print("增加了一个触摸点")        elseif event.name == "moved" then                   elseif event.name == "removed" then            print("移除了一个触摸点")           elseif event.name == "ended" then            print("触摸结束")        end         return true    end)end

 

连接安卓设备调试输出

我将五个手指放上去,看到这个调试信息,事件触发顺序,就能看出来了,第一个点就是触摸开始, 后面慢慢增加,到后面手指离开屏幕,就是一个一个减少,下面我们就就筛选第三个点,当我们第三个点触摸的时候,输出一个信息

function MainScene:ctor()    local layer = display.newLayer()    layer:addTo(self)    layer:setTouchEnabled(true)                            layer:setTouchMode(cc.TOUCHES_ALL_AT_ONCE)           layer:addNodeEventListener(cc.NODE_TOUCH_EVENT, function (event)           if event.name == "began" then            print("触摸开始")        elseif event.name == "added" then            print("增加了一个触摸点")            if "table" == type(event.points["2"]) then                print("三点触摸")            end            elseif event.name == "removed" then            print("移除了一个触摸点")           elseif event.name == "ended" then            print("触摸结束")        end         return true    end)end

到手机上面输出

我们看到,第三个手机放上去,出现了三点触摸字样,注意,event.point里面的表索引从0开始,第二个点就是event.point[“1”]了。注意不能写成event.point[1],这样是不会出现打印信息的。

转载于:https://www.cnblogs.com/luagame/p/4220127.html

你可能感兴趣的文章
小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-06 服务注册和发现之Eureka Client搭建商品服务实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_3-07 Eureka服务注册中心配置控制台问题处理...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-01 常用的服务间调用方式讲解
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-02 微服务调用方式之ribbon实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-03 高级篇幅之Ribbon负载均衡源码分析实战...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-06 Feign核心源码解读和服务调用方式ribbon和Feign选择...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-02 Netflix开源组件断路器
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-04 feign结合hystrix断路器开发实战下...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-08 断路器监控仪表参数
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-4.在线教育后台数据库设计...
查看>>