Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧

Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧,第1张

概述本篇就开始讲单点触摸事件,我们在前面用UIPushButton做菜单那篇,就用了触摸事件,只不过我们感觉不出来,我们基本不需要分析触摸消息。这篇我们用一个精灵模仿出按钮效果,加强理解 至于原理,廖大在文档中讲的很清楚,就不赘叙了。 Quick的触摸机制 (点我点我(*^__^*)) 一般,我们按按钮的时候,总会发现,按钮按下去,按钮会缩小,松开,按钮会恢复原来的大小。 function MySce

本篇就开始讲单点触摸事件,我们在前面用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" then			sprite:setScale(0.9)		    elseif event.name == "moved" then		       -- sprite:setposition(cc.p(x,y))		       			    elseif event.name == "ended" then		        sprite:setScale(1)  		    end		    	    return true	end)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)




好了,看的很清楚。下面查看我们做的简单按钮效果图

总结

以上是内存溢出为你收集整理的Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧全部内容,希望文章能够帮你解决Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1024991.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存