当前位置: 首页 > 工具软件 > box2d.dart > 使用案例 >

cocos2d-x API 学习 ---- 各个gui插件

羊舌承颜
2023-12-01

现在基本上还是在看cocos2d-x的各种API,这两天都在看GUITest里的例子去熟悉API,记一下Test里的各种API吧,可能有错误


设置button响应触摸事件

button:setTouchEnabled(true)


button加载响应前与响应后的状态图片

button:loadTextures("cocosgui/dart.png", "cocosgui/sword.png", "")


button添加触摸事件监听     ----具体原理还不是很清楚

button:addTouchEventListener(touchEvent)


设置button显示Scale9效果      ----貌似是延展9倍的效果?

button:setScale9Enabled(true)


设置button按下放大效果

button:setPressedActionEnabled(true)


设置button中的文字

textButton:setTitleText("Text Button")


加载checkbox各个状态图片,按顺序分别是未点选时背景,点选时背景,点选后背景,禁用未点选背景,禁用点选后背景

checkBox:loadTextures("cocosgui/check_box_normal.png",
                               "cocosgui/check_box_normal_press.png",
                               "cocosgui/check_box_active.png",
                               "cocosgui/check_box_normal_disable.png",
                               "cocosgui/check_box_active_disable.png")


checkbox监听选择事件

checkBox:addEventListenerCheckBox(selectedEvent)


slider加载滚动条图片

slider:loadBarTexture("cocosgui/sliderTrack.png")


slider加载滚动球图片,参数分别为正常状态,按下状态,禁用状态下滚动球图片

slider:loadSlidBallTextures("cocosgui/sliderThumb.png", "cocosgui/sliderThumb.png", "")


slide加载进度条图片

slider:loadProgressBarTexture("cocosgui/sliderProgress.png")


slider监听滚动条percent changed事件

slider:addEventListenerSlider(percentChangedEvent)


slider获取当前滚动条百分比

slider:getPercent()


slider设置Scale9渲染效果

slider:setScale9Enabled(true)


设置画面放大比例

self._uiLayer:setScale(scale)


设置lua定时器,第一个参数为回调函数,第二个参数是优先级

self:scheduleUpdateWithPriorityLua(update, 0)


注册响应事件,参数为响应名称

self:registerScriptHandler(onNodeEvent)


设置loadingbar加载方向,LoadingBarTypeLeft表示从左到右,LoadingBarTypeRight表示从右到左

loadingBar:setDirection(ccs.LoadingBarType.right)


CCRect(x,y,width,height)表示构造一个矩形,(x,y)坐标表示矩形左下角


LabelAtlas从图片中读取文字,第一个参数是显示内容,第二个参数是图片来源,第三个参数是文字的宽,第四个是文字的高,第五个是开始字符

labelAtlas:setProperty("12345670", "cocosgui/labelatlas.png", 17, 22, "0")


LabelBMFont设置字体,参数表示字体来源

labelBMFont:setFntFile("cocosgui/bitmapFontTest2.fnt")


TextField设置占位符,参数为无输入时的提示

textField:setPlaceHolder("input words here")


TextField设置事件监听

textField:addEventListenerTextField(textFieldEvent)


CCMoveTo提供快速移动动作,第一个参数是时间,第二个参数是目的坐标

CCMoveTo:create(time,point(x,y))


TextField是否设置最大长度限制

textField:setMaxLengthEnabled(true)


设置文本的最大长度

textField:setMaxLength(6)


TextField是否设置密码形式

textField:setPasswordEnabled(true)


设置密码替代符

textField:setPasswordStyleText("*")


设置背景颜色类型(支持均匀、梯度) 当参数为gradient时实现梯度变化

layout:setBackGroundColorType()


设置背景颜色,参数为颜色   当类型为gradient时有两个参数,连个梯度颜色

layout:setBackGroundColor(ccc3(128, 128, 128))


设置layout是否可裁剪

layout:setClippingEnabled(true)


设置背景图片Scale9效果

layout:setBackGroundImageScale9Enabled(true)


layout:setLayoutType(type)设置布局格式,和ccs对应有4种布局格式:

LAYOUT_ABSOLUTE                                 绝对布局 
LAYOUT_LINEAR_VERTICAL                 线性垂直 
LAYOUT_LINEAR_HORIZONTAL           线性水平 
LAYOUT_RELATIVE                                   相对布局


LinearLayoutParameter:setGravity()设置重力属性,参数如下:

LINEAR_GRAVITY_NONE  
LINEAR_GRAVITY_LEFT  
LINEAR_GRAVITY_TOP  
LINEAR_GRAVITY_RIGHT  
LINEAR_GRAVITY_BOTTOM  
LINEAR_GRAVITY_CENTER_VERTICAL  
LINEAR_GRAVITY_CENTER_HORIZONTAL


设置与左,上,右,下其他元素的距离

LinearLayoutPatemeter:setMargin({ left = 0, top = 10, right = 0, bottom = 10 })


设置滚动图内部容器大小

scrollView:setInnerContainerSize(CCSize(innerWidth, innerHeight))   


将元素加入scrollview中

scrollView:addChild(UIWidget)


scrollview弹跳开关,拉过以后可以弹回来

scrollView:setBounceEnabled(true)


scrollView:setDirection(SCROLLVIEW_DIR)设置滚动方向,参数表示方向:

SCROLLVIEW_DIR_NONE  
SCROLLVIEW_DIR_VERTICAL  
SCROLLVIEW_DIR_HORIZONTAL  
SCROLLVIEW_DIR_BOTH 

getRightInParent  获得该插件的右边界

getLeftInParent     获得该插件的左边界

getBottomInParent  获得该插件的下边界

getTopInParent      获得该插件的上边界


PageView添加时间监听

addEventListenerPageView(pageViewEvent)


获取当前页索引值

pageView:getCurPageIndex()


pageview添加页面(layout)

pageView:addPage(layout)



ListView的setDirection函数与ScrollView相同

设置弹跳效果也与ScrollView相同:

ListView:setBounceEnabled(true)


获取当且item的索引值

ListView:getCurSelectedIndex()


ListView中需要加入item,item属于(Layout),例:

default_item:addChild(default_button)


设置缺省

ListView:setItemModel(default_item)


添加缺省item

pushBackDefaultItem()

添加客户item

pushBackCustomItem(custom_item) 


指定索引插入缺省item

insertDefaultItem(index)

在指定索引插入客户item

insertCustomItem(custom_item, index)


获得所有item容器

getItems()

获得单个item容器

getitem()


移除最后的item

removeLastItem()

移除指定索引item

removeItem(index)


设置各item间距

setItemsMargi(dis)


Scrollview设置双向滑动,attenuated参数是设置滑动曲线的,true的话动画比较平和不生硬。

scrollToPercentBothDirection(const CCPoint& percent, float time, bool attenuated)


 类似资料: