语言环境:

Cocos2dx 3.6

Lua 5.1

UI编辑器:Cocos Studio v2.0.6

问题:Scrollview控件滑动与其子控件监听发生冲突。

在点击子控件时,若在子控件上进行移动,父容器Scrollview不会执行滑动事件,像是被吞噬了一样

我的解决思路是不改底层,通过逻辑来控制。直接上代码:

local moveOrReq = nil --移动或请求
local countMove = 1   --移动计次
--监听事件:按钮(子控件)
local TouchEventByBtn = function (obj,e)if e == ccui.TouchEventType.began then      ---0moveOrReq = nilcountMove = 1elseif e == ccui.TouchEventType.moved then   ---1countMove = countMove + 1if countMove > 10 thenmoveOrReq = "move"endelseif e == ccui.TouchEventType.ended and moveOrReq == nil then    ---2(重点:执行事件放这里)--这里执行需要执行的按钮事件elseif e == ccui.TouchEventType.canceled then        ---3moveOrReq = nilend
end

以上代码是子控件的监听执行事件,这里子控件我采用的是Button,对每一个子控件进行监听,父容器Scrollview不监听

要注意:若出现无法移动的情况。多半是Button吞噬了Scrollview,在创建每一个子控件时加上这一句代码:

btn:setSwallowTouches(false)

以上的解决思路是我综合不改底层情况下在脚本层解决的最优思路,当然,若为了所有的情况都避免,可以自定义监听,也可以自己封装继承函数

Cocos2dx中Scrollview控件滑动与其子控件监听冲突的解决方案(不改底层、最优)相关推荐

  1. IOS学习之UISwitch控件两种使用方法和监听

    IOS学习之UISwitch控件两种使用方法和监听 分类: IOS开发入门2012-06-15 11:48 1363人阅读 评论(0) 收藏 举报 一.第一种创建UISwitch控件的方法,在代码中动 ...

  2. Android中对menu、home、back键的监听

    Android中对menu.home.back键的监听,通过KeyEvent中的常量值来判断用户点击了哪个按钮. 其中对home键的监听需先在manifest文件中添加 <uses-permis ...

  3. Cocos2d-x学习(七):cocos2d-x中ScrollView的简单实现

    在游戏关卡选择,道具店之中经常会用到类似于ScrollView的控件,之前用AndEngine引擎的时候简单的实现了一个,(AndEngine滑动菜单传送门),考虑到手头的游戏以后也会用到,就先用co ...

  4. C#如何获取当前控件的子控件以及多重子控件的实例(能操作这些获取到的子控件)

    拿个实例,参照这个实例的思路可以解决: 比方说,我想获取到这个tabControl下当前选中的tabPage下的TableLayoutPanel下所有的Button控件 (ps:以下是一个通过ini文 ...

  5. recyclerview滑动到顶部和底部监听+上滑下滑监听

    到达顶部和底部监听 判断是否滑动到底部, recyclerView.canScrollVertically(1);返回false表示不能往上滑动,即代表到底部了: 判断是否滑动到顶部, recycle ...

  6. cmd中检测远程的ip和端口是否处于监听状态

    第一步:使用ping命令测试远程的ip是否可连通 在cmd中输入ping ip地址: 如果最后的统计信息中丢失率为0表示可以连通该ip地址.那么就可以进行下一步的测试该ip下的某一个端口是否开放的操作 ...

  7. java 多个监听_​Java中使用for循环对多个Jbutton按钮监听

    Java中Jbutton按钮监听,当多个按钮做的事差不多的时候是可以用for循环的(比如计算器1-9)省事省力. 监听时变量只能是final或者static,不过这些在for循环中明显不行,所以,就在 ...

  8. vue中给window添加滚动监听无效的解决方案

    页面中有这么一个需求,当页面滚动到一定高度之后,页面中的某些元素进行吸顶,固定到顶部位置,或者是滚动到一定程度进行更新数据的操作. 我相信不少网友查阅过类似的资料,网友给出的解决方案,很多都是在mou ...

  9. 如何查找oracle中的服务器端口号,客户端端口号,监听端口及号Enterprise Manager Console HTTP 端口

    求教  oracle中可以查看端口号的sql语句,服务器端口号,客户端端口号,监听端口号都可以,一定要是用sql语句查看的  通过文件查看的不可以 引用 求教  oracle中可以查看端口号的sql语 ...

最新文章

  1. QNX Hypervisor管理程序
  2. 17. 搭建FTP服务端
  3. c#实现Socket网络编程
  4. 剑指offer:合并两个排序的链表
  5. 【动态规划】叠放箱子问题(ssl 1640)
  6. 【2019浙江省赛 - J】Welcome Party(并查集,bfs,优先队列,建图)
  7. python如何装sklearn_python安装sklearn
  8. 对datatable类型列名排序_表格数据的排序功能(支持多列)
  9. python教程pdf-python基础教程[高清][中文第2版].pdf
  10. 2017linux c校园招聘,华为2017校招C++岗笔试题
  11. input子系统驱动学习之中的一个
  12. 阿里云 Code Pipeline 体验
  13. win7网络改局域网计算机名,局域网共享一键修复工具(支持win7) 修复windows7各种共享问题...
  14. 高并发场景设计与解决方案
  15. 详解注意力机制和Transformer
  16. Unity3d游戏制作 建模与蒙皮
  17. 一闪一闪亮晶晶,我有一颗小星星
  18. 程序员面试动态评分标准
  19. Excel导入数据时间格式问题处理
  20. JDBC连接数据库学习心得

热门文章

  1. JUC共享模型之管程阶段四
  2. vue 隐藏display_vue--显示和隐藏
  3. latex标记html样式,latex希腊字母
  4. excel表格打印每页都有表头_Excel如何打印每页都有表头?固定表头打印方法
  5. connman添加获取BSSID(热点/路由器MAC)功能
  6. 无线蓝牙耳机什么品牌好?2021五款高音质学生党蓝牙耳机推荐
  7. 软件项目管理 8.1.软件质量基本概念
  8. 数据结构---选择排序(直接选择排序和堆排序图解)
  9. 数据结构之排序:直接选择排序
  10. Springboot切面问题