问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

quick-cocos2d-x 有哪些ui控件

发布网友 发布时间:2022-04-29 14:43

我来回答

2个回答

热心网友 时间:2022-05-04 15:15

在Quick-Cocos2d-x之前的版本中使用的是菜单Menu,实现菜单的功能。在Quick-Cocos2d-x的v3.x版本中已经移除了菜单Menu,使用自己的封装Button实现菜单的功能。
按钮是一个项目中最基本的东西,因为你不论什么项目都缺少不了按钮。它是Quick中常见的UI控件。
UIButton
按钮Button是基于Node的封装,可以创建带图片的按钮或文本标签的按钮,添加到层Layer上显示。就像普通按钮一样,我们可以很方便的处理按钮事件,按钮的状态。设置背景和显示文字。
注:UIButton不直接使用
按钮的种类
Quick中有三种Button控件,分别是UIPushButton(按钮控件)、UICheckBoxButton(CheckButton控件)和UICheckBoxButtonGroup(CheckButton组控件)。它们是Quick封装的按钮控件, 源码文件分别位于Quick目录的/framework/cc/ui/目录下UIPushButton.lua/UICheckBoxButton.lua/UICheckBoxButtonGroup.lua。
事件
Quick-Cocos2d-x中的按钮控件支持如下的事件:
CLICKED 点击按钮 使用UIButton:onButtonClicked(callback)方法监听按钮的点击事件
PRESSED 按下按钮 使用UIButton:onButtonPressed(callback)方法监听按钮的按下事件
RELEASE 释放按钮 使用UIButton:onButtonRelease(callback)方法监听按钮的释放事件
STATE_CHANGED 状态改变(enable <---> disable) 使用UIButton:onButtonStateChanged(callback)方法监听按钮的状态改变事件
Quick中的各种按钮控件都支持上面的事件。我们可以通过响应的方法监听并处理相应的事件。
UIPushButton
UIPushButton就是我们常见的点击按下按钮,类似于常用的菜单。
UIPushButton是UIButton的子类,也是我们常用的Button。我们可以通过cc.ui.UIPushButton获取UIPushButton。
可以通过cc.ui.UIPushButton.new(images, options)方法创建一个按钮。
其中images是table类型,包含各个按钮状态下的图片。options为可选参数,table类型,包含是否scale9缩放,偏移flipX、flipY值等设置。
UIPushButton按钮的创建支持参数项为空的方式创建,然后在设置按钮各状态的图片,文字等。
代码示例:
下面代码创建了一个按钮,点击按钮触发相应的事件。
myButtonLayer.PUSH_BUTTON_IMAGES = {
normal = "button/Button01.png",
pressed = "button/Button01Pressed.png",
disabled = "button/Button01Disabled.png",
}
function myButtonLayer:createUIPushButton()
pushBtn = cc.ui.UIPushButton.new(myButtonLayer.PUSH_BUTTON_IMAGES, {scale9 = true})
:setButtonSize(240, 60) --设置大小
:setButtonLabel("normal", cc.ui.UILabel.new({
UILabelType = 2,
text = "This is a PushButton",
size = 18
}))-- 设置各个状态的按钮显示文字
:setButtonLabel("pressed", cc.ui.UILabel.new({
UILabelType = 2,
text = "Button Pressed",
size = 18,
color = cc.c3b(255, 64, 64)
}))
:setButtonLabel("disabled", cc.ui.UILabel.new({
UILabelType = 2,
text = "Button Disabled",
size = 18,
color = cc.c3b(0, 0, 0)
}))
:onButtonClicked(function(event) -- 按钮的clicked事件处理
print("pushButton click")
end)
:align(display.LEFT_CENTER, display.left + 80, display.top - 80) --设置位置 锚点位置和坐标x,y
:addTo(self)
end
上面代码使用三种按钮状态图片创建了一个UIPushButton类型的按钮,并设置了大小和显示文本标签。并通过onButtonClicked方法监听按钮的点击事件。
UICheckBoxButtonGroup

UICheckBoxButtonGroup是UICheckBoxButton组控件。用来创建类似radioButton。我们可以通过cc.ui.UICheckBoxButtonGroup获取UICheckBoxButtonGroup。

我们可以通过cc.ui.UICheckBoxButtonGroup.new(direction)方法创建UICheckBoxButton组控件。其中direction为integer类型,表示checkBox排列方向(可选的值有display.LEFT_TO_RIGHT/display.RIGHT_TO_LEFT/display.TOP_TO_BOTTOM/display.BOTTOM_TO_TOP)。创建完成后,可以使用addButton方法添加按钮,removeButtonAtIndex(index)移除指定index的按钮。

注:CheckBoxButton组控件,类似RadioButton.同一时刻只能有一个被选中
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
会声会影如何裁剪视频画面范围 怎么正确喝酒的方法 真正好的饮用方式 日本清酒獭祭正确喝法 深圳有几家酒店可以真正意义上说是五星级? 深圳富苑皇冠假日套房式酒店酒店周边 深圳富苑皇冠假日套房酒店酒店简介 深圳富苑皇冠假日套房式酒店酒店介绍 金福人生多倍保重疾险怎么样?值不值得买? wpsword文档怎么删除空白页面 wPS删除空白页方法wps怎么删除多余空白页最有效方法 出租车在2019年春节放假时间上高速能免费吗? 排卵期后第七天白带有拉丝是怎么回事 倾听约翰&#xFFFD;7&#xFFFD;4施特劳斯的《蓝色多瑙河圆舞曲》,描写你听到的美妙声音以及它带给你的感受。 截拳道的打法是什么... 拉德斯基进行曲听后有什么感想? 明星粉丝群怎么找啊 排卵期过后白带还是拉丝透明样,怎么回事 帮助(听一首圆舞曲,写听后感) 排卵过后还会出现白带拉丝吗 二龙湖浩哥进城给猪配种的故事 遇到蓝百万 蓝百万让他保护他妹妹是哪一部? 请选听一首圆舞曲音乐,查询资料,解释圆舞曲的涵义,写出听后感 白带拉丝是怎么回事 tfboys粉丝群 讲几个笑话来听听。 请问大佬有二龙湖浩哥之狂暴之路2015年上映的由张浩主演的百度网盘资源吗 二龙湖浩哥一共有几部?分别几部名字是什么? 排卵期都过了几天了白带拉丝很长这几天,是要来姨妈还是怎么回事 皮卡上高速算一类车还是二类车 ireader怎么看本地的书 iReader如何导入本地图书 为什么排卵期过后还会出现白带拉丝 倾听约翰·施特劳斯的《蓝色多瑙河园舞曲》,描写你听到的美妙声音以及它带给你的感受? 二龙湖浩哥在这里电影中&#xF236;&#xFE0F;海南的是什么 倾听约翰施特劳斯蓝色多瑙河圆舞曲的感受 UI的常用工具有哪些? 5座皮卡车中秋高速收费么? 排卵期过三天了,但白带出现透明拉丝,是又排卵了吗? 求肖邦《升C小调圆舞曲》的听后感,曲调风格,感情基调,还有创作时间 假如我当了一个明星的微信粉丝群的群主,后来真的加了那个明星的微信 听《杜鹃圆舞曲》有感,400作文 微信怎么进群? ireader plus入手,请问如何导入自己下的电子书 国家出租车价格规定 出租车价格怎么计算 《蓝色多瑙河圆舞曲》表达了什么? 老师要偶写《蓝色多瑙河圆舞曲》的听后感 春之声圆舞曲听后感 电动三轮车,保险逾期了,怎么办? 什么是UI控件 听古典音乐,有个问题:协奏曲,奏鸣曲,圆舞曲等一系列XX曲有什么区别?或者直接告诉我它们概念或定义好吗 不懂为什么?欣赏圆舞曲时都会把节奏听成是四四拍的?谁能给分析一下原因及改进意见?