【Cocos2dx】Cocos2dx学习笔记(二)、点击事件

在Cocos2dx中对精灵,层等Node有监听机制, 通过监听机制, 可以对用户的触摸事件进行响应, 下面介绍Cocos2dx的单击事件

单击类 : EventListenerTouchOneByOne

EventListenerTouchOneByOne 为Cocos2dx中单击响应的监听类, 其中拥有如下函数

 

local create() // 构造函数
local isSwallowTouches() // 返回是否为吞噬监听 
// 吞噬监听 上层对象处理触摸事件并屏蔽下层对象的监听
local checkAvailable() // 返回监听是否可用
setSwallowTouches(local needSwallow) // 是否为吞噬触摸 needSwallow 为true的时候为吞噬

创建监听事件的过程:

 

 

// 1. 创建本地的单击监听对象 EventListenerTouchOneByOne , 调用Create 
local listener = cc.EventListenerTouchOneByOne:create() 
// 2. 设置为吞噬监听 
listener:setSwallowTouches(true)
// 3. 绑定监听事件 通过registerScriptHandler函数
listener:registerScriptHandler(function (touch,event)
	// do something
	// 4. 返回true 之后可以执行EVENT_TOUCH_MOVED(触摸并移动)监听函数
	return true
	// 5. registerScriptHandler函数的第二个参数,
	// EVENT_TOUCH_BEGAN 表示手接触屏幕	
end,cc.Handler.EVENT_TOUCH_BEGAN)
listener:registerScriptHandler(function(touch, event)
	// do something
return true
	// EVENT_TOUCH_MOVED 表示触摸之后移动
end, cc.Handler.EVENT_TOUCH_MOVED)
listener:registerScriptHandler(function(touch,event)
// do something
return true
	// EVENT_TOUCH_ENDED 表示手离开屏幕的时候
end,cc.Handler.EVENT_TOUCH_ENDED)
// 6. 创建本地管理监事件的对象
local eventDispatcher = self:getEventDispatcher()
// 7. 将新建的对象加入到本地监听事件中去
eventDispatcher:addEventListenerWithSceneGraphPriority(listener,self);
// 监听完成

 

 

 

 

 

 

 

发布了86 篇原创文章 · 获赞 15 · 访问量 7万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览