我写的代码形式如下
local func=function(sender)
xxxxxxxxx
end
local btn=layer:getChildByName("Button")
btn:addClickEventListener(func)
需要将libGUI项目(位于解决方案目录\cocos2d\cocos\ui\下,根据目标平台选择)引入解决方案中,设为主项目的生成依赖项,并在主项目的属性——链接器——附加依赖项中加入“libGUI.lib”(如果解决方案中已有就无视这句话,如果IDE不是VS也无视这句话)然后#include "ui/CocosGUI.h"
在使用时,首先创建一个事件监听器,事件监听器包含以下几种:触摸事件 (cc.EventListenerTouch)
键盘响应事件 (cc.EventListenerKeyboard)
加速记录事件 (cc.EventListenerAcceleration)
鼠标响应事件 (cc.EventListenerMouse)
自定义事件 (cc.EventListenerCustom)
以上事件监听器统一由 cc.eventManager 来进行管理, 它是一个单例对象。它的工作需要三部分组成:
事件管理器 cc.eventManager
事件类型 cc.EventTouch, cc.EventKeyboard 等
事件监听器 cc.EventListenerTouch, cc.EventListenerKeyboard 等
监听器实现了各种触发后的逻辑,在适当时候由 事件管理器分发事件类型,然后调用相应类型的监听器。
使用方法
现在将要实现在一个界面中添加三个按钮,三个按钮将会互相遮挡,并且能够触发触摸事件,以下是具体实现
首先创建三个精灵,作为三个按钮的显示图片
var sprite1 = cc.Sprite.create("Images/CyanSquare.png")
sprite1.x = size.width/2 - 80
sprite1.y = size.height/2 + 80
this.addChild(sprite1, 10)
var sprite2 = cc.Sprite.create("Images/MagentaSquare.png")
sprite2.x = size.width/2
sprite2.y = size.height/2
this.addChild(sprite2, 20)
var sprite3 = cc.Sprite.create("Images/YellowSquare.png")
sprite3.x = 0
sprite3.y = 0
sprite2.addChild(sprite3, 1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)