以前遇到一个问题就是,如果触摸层不在最后,会导致触摸失效。这是由于下面添加的层挡住了触摸层,而后添加的层会位于上面,默认是不可点击,点击不可穿透的。所以我们必须将触摸层放置到最上面。

Logic.lua


  1. local Logic = class("Logic",function ()
  2. return display.newLayer()
  3. end )
  4. function Logic:ctor()
  5. self:addNodeEventListener(cc.NODE_ENTER_FRAME_EVENT, handler(self, self.update))
  6. self:scheduleUpdate()
  7. end
  8. function Logic:update(dt)
  9. print("Logic")
  10. end
  11. return Logic

Touch.lua


  1. local Touch = class("Touch",function ()
  2. return display.newLayer()
  3. end )
  4. function Touch:ctor()
  5. self:setTouchEnabled(true)
  6. self:setTouchSwallowEnabled(false)
  7. self:addNodeEventListener(cc.NODE_TOUCH_EVENT, handler(self, self.touchTouch))
  8. --
  9. self:addNodeEventListener(cc.NODE_ENTER_FRAME_EVENT, handler(self, self.update))
  10. self:scheduleUpdate()
  11. end
  12. function Touch:touchTouch( event )
  13. if( event.name == "began" ) then
  14. print("began")
  15. return true
  16. end
  17. if( event.name =="moved" ) then
  18. print("moved")
  19. end
  20. if( event.name =="ended" ) then
  21. print("ended")
  22. end
  23. end
  24. function Touch:update(dt)
  25. print("Touch")
  26. end
  27. return Touch

MainScene.lua 可以


  1. local MainScene = class("MainScene", function()
  2. return display.newScene("MainScene")
  3. end)
  4. function MainScene:ctor()
  5. local Logic=require("src.app.scenes.Logic")
  6. local logic=Logic.new()
  7. self:addChild(logic)
  8. local Touch=require("src.app.scenes.Touch")
  9. local touch=Touch.new()
  10. self:addChild(touch)
  11. end
  12. function MainScene:onEnter()
  13. end
  14. function MainScene:onExit()
  15. end
  16. return MainScene

修改为下面这个不可以。

  1. function MainScene:ctor()
  2. local Touch=require("src.app.scenes.Touch")
  3. local touch=Touch.new()
  4. self:addChild(touch)
  5. local Logic=require("src.app.scenes.Logic")
  6. local logic=Logic.new()
  7. self:addChild(logic)
  8. end

修改为下面这个可以。

  1. function MainScene:ctor()
  2. local Touch=require("src.app.scenes.Touch")
  3. local touch=Touch.new()
  4. self:addChild(touch,10)
  5. local Logic=require("src.app.scenes.Logic")
  6. local logic=Logic.new()
  7. self:addChild(logic)
  8. end

quick 关于触摸的问题的更多相关文章

  1. 【转载】Quick 中的触摸事件

    原文地址 http://cn.cocos2d-x.org/article/index?type=quick_doc&url=/doc/cocos-docs-master/manual/fram ...

  2. 记录quick cocos2d-x3.2升级至cocos2d-x3.8

    目前为止,quickcocos2d-x没有3.8版本,想用3.8又想用quick,所以只能自己升级了,自己先记录下,防止忘记. cocos2d-x3.8里面有quick framework,而simu ...

  3. quick-cocos2d-x游戏开发【9】——单点触摸

    quick的触摸机制,我想廖大已经在这篇文章里说的非常清楚了.我们这些小辈们就是在他的基础上完备一下,说说使用方法就能够了.嘿嘿. 在2.2.3之前的版本号(不包含2.2.3).触摸机制和廖大在那篇文 ...

  4. Quick StateMachine状态机

    状态机quick中是一个亮点,假设我们做一款RPG游戏,一个角色通常会拥有idle,attack,walk.run,death这些状态,假设游戏角色的状态採用分支条件推断的话.会造成很庞大而难以维护. ...

  5. quick-cocos2d-x游戏开发【10】——触摸捕获事件 cc.NODE_TOUCH_CAPTURE_EVENT

    假设看过sample中touch的代码,你会发现演示样例中有一个cc.NODE_TOUCH_CAPTURE_EVENT事件.它和cc.NODE_TOUCH_EVENT触摸事件一样,是引擎级别的事件,我 ...

  6. Qt Widgets、QML、Qt Quick的区别

    Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...

  7. Quick 3.3 final 加载ccs的变化

    1,用self._topUIWidget = ccs.GUIReader:getInstance():widgetFromJsonFile("mapTopUI.json")就还是用 ...

  8. qt quick中qml编程语言

    Qt QML 入门 — 使用C++定义QML类型 发表于 2013 年 3 月 11 日   注册C++类 注册可实例化的类型 注册不实例化的QML类型 附带属性 注册C++类 注册可实例化的类型 如 ...

  9. [算法]——快速排序(Quick Sort)

    顾名思义,快速排序(quick sort)速度十分快,时间复杂度为O(nlogn).虽然从此角度讲,也有很多排序算法如归并排序.堆排序甚至希尔排序等,都能达到如此快速,但是快速排序使用更加广泛,以至于 ...

随机推荐

  1. Linux文件权限管理(持续更新)

    文章是从我的个人博客上粘贴过来的, 大家也可以访问我的主页 www.iwangzheng.com 以root身份登录linux以后, ls -al 可以看到 -rw-rw-r--  1 wangzhe ...

  2. Firemonkey的旁门左道[六]

    转载:http://blog.csdn.net/qustdong/article/details/9992033 今天还是讲讲和图形有关的事情,这次的难度再增加些,不是直接改源代码了, 而是通过RTT ...

  3. POJ 1251 Jungle Roads (prim)

    D - Jungle Roads Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%I64d & %I64u Su ...

  4. Linux 面试题总结

    一. 填空题1. 在Linux系统中,以 (文件) 方式访问设备 .2. Linux内核引导时,从文件 (/etc/fstab) 中读取要加载的文件系统.3. Linux文件系统中每个文件用 (索引节 ...

  5. Linux下列格式化工具 - column

    [root@localhost ~]# mount/dev/sda2 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type ...

  6. 【Network】一张图看懂 Reactor 与 Proactor 模型的区别

    首先来看看Reactor模式,Reactor模式应用于同步I/O的场景.我们以读操作为例来看看Reactor中的具体步骤:读取操作:1. 应用程序注册读就需事件和相关联的事件处理器2. 事件分离器等待 ...

  7. Django中如何查找模板

    参考:http://my.oschina.net/zuoan001/blog/188782 Django的setting中有关找模板的配置有如下两个: TEMPLATE_LOADERS TEMPLAT ...

  8. Javascript配合jQuery实现流畅的前端验证

    做前端时一般都习惯用JavaScript进行表单的简单验证比如非空验证和正则表达式验证,这样过滤后的数据提交到服务端再由专门的控制器做数据处理,这样能减轻服务器的负担,下面看一下前端验证的简单步骤: ...

  9. HDU 5734 Acperience (公式推导) 2016杭电多校联合第二场

    题目:传送门. #include <iostream> #include <algorithm> #include <cstdio> #include <cs ...

  10. win激活查询及修改

    slmgr.vbs -dlv 命令可以查询到Win8.1的激活信息,包括:激活ID.安装ID.激活截止日期!   slmgr.vbs -dli 命令可以查询到操作系统版本.部分产品密钥.许可证状态! ...