Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧
来源:互联网 发布:手机下载监控软件 编辑:程序博客网 时间:2024/04/30 17:41
本篇就开始讲单点触摸事件,我们在前面用UIPushButton做菜单那篇,就用了触摸事件,只不过我们感觉不出来,我们基本不需要分析触摸消息。这篇我们用一个精灵模仿出按钮效果,加强理解
至于原理,廖大在文档中讲的很清楚,就不赘叙了。
Quick的触摸机制(点我点我(*^__^*))
一般,我们按按钮的时候,总会发现,按钮按下去,按钮会缩小,松开,按钮会恢复原来的大小。
function MyScene:ctor()local sprite = display.newSprite("Hello.png") sprite:align(display.CENTER,display.cx,display.cy)sprite:addTo(self) --下面就是单点触摸的用法sprite:setTouchEnabled(true) --设置这个精灵是否能触摸sprite:setTouchMode(cc.TOUCH_MODE_ONE_BY_ONE)--触摸模式。我们传进单点触摸模式进去sprite:addNodeEventListener(cc.NODE_TOUCH_EVENT, function (event) --关键,这边就是传事件类型和回调函数,在回调函数中处理消息local x, y, prevX, prevY = event.x, event.y, event.prevX, event.prevY if event.name == "began" thensprite:setScale(0.9) elseif event.name == "moved" then -- sprite:setPosition(cc.p(x,y)) elseif event.name == "ended" then sprite:setScale(1) end return trueend)end在代码中,我已经注释好关键的地方了
对于这个cc.NODE_TOUCH_EVENT,这是引擎定义好的事件,下面就是cocos2dx 的引擎时间,我们就用的触摸事件
-- cocos2dx 引擎级事件c.NODE_EVENT = 0c.NODE_ENTER_FRAME_EVENT = 1c.NODE_TOUCH_EVENT = 2c.NODE_TOUCH_CAPTURE_EVENT = 3c.MENU_ITEM_CLICKED_EVENT = 4c.ACCELERATE_EVENT = 5c.KEYPAD_EVENT = 6c.NODE_TOUCH_CAPTURING_PHASE = 0c.NODE_TOUCH_TARGETING_PHASE = 1
还有一个疑问就是event,我们要如何得知它里面有哪些东西呢,别怕,quick为我们封装了这个函数----dump函数
这个函数可以帮我们输出穿进去参数所有内容,当然,如果参数镶嵌层数太深(这个函数默认为3层),你可以在第三个参数穿想要输出多少层。具体用法,自己看源码即可。
我们在回调函数加个dump(event)
好了,看的很清楚。下面查看我们做的简单按钮效果图
0 0
- Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧
- Quick cocos2dx-Lua(V3.3R1)学习笔记(十三)-----继续触摸事件之多点触摸
- Quick cocos2dx-Lua(V3.3R1)学习笔记(4)------创建精灵 菜单,让我们做个最简单的点击菜单显示精灵吧
- Quick cocos2dx-Lua(V3.3R1)学习笔记(5)----让精灵动起来吧,使用序列帧动画
- Quick cocos2dx-Lua(V3.3R1)学习笔记(6)---- 让精灵执行不同的动作
- Quick cocos2dx-Lua(V3.3R1)学习笔记(3)----文本渲染之用BM TTF创建文本
- Quick cocos2dx-Lua(V3.3R1)学习笔记(1)----创建新项目
- Quick cocos2dx-Lua(V3.3R1)学习笔记(10)-----用自带的build_apk生成APK
- cocos2dx 单点触摸,按钮事件
- Quick cocos2dx-Lua(V3.3R1)学习笔记(2)----不要老是显示Hello World,我们显示点别的
- Quick cocos2dx-Lua(V3.3R1)学习笔记(7) ---计时器,我是个定时吃饭睡觉的好孩子
- Quick cocos2dx-Lua(V3.3R1)学习笔记(9)-----搭建安卓打包环境,用官方示例anysdk生成apk运行
- 事件触摸-Quick-Cocos2dx
- Quick cocos2dx-Lua(V3.3R1)学习笔记(十二)----使用Cocos Code IDE 配合自带的PrebuiltRuntimeLua.apk进行真机调试
- cocos2dx学习之路----第九篇(深入理解单点触摸的事件机制)
- cocos2dx 3.3 + lua 学习笔记(03)--- 触摸事件、定时器、进度条
- cocos2dx 精灵监听触摸事件
- cocos2dx 处理精灵触摸事件
- MYSQL注入绕过技巧
- POJ2386 Lake Counting 图遍历/DFS
- ListView终极优化方法,绝对流畅
- Ext中获取combobox中的valueField和displayField的值
- Android Studio Share Project On Github
- Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧
- linux 安装Tomcat
- sizeof与strlen函数的区别
- uva 10194 Football (aka Soccer)
- C#基础知识之四
- 矩阵 分配器 切换器 编码器 解码器 中控器
- 优化Nginx突破十万并发
- 减肥的设计费是大幅度电饭锅
- 中谷教育Python09~14笔记——流程控制