Cocos2dx中的四种控件及主要用法
1.控件:即控制对象,控制按钮之类的精灵
2.主要介绍四大类控件:
CCControlSlider:进度条
CCControlSwitch:开关
CCScale9Sprite:9妹图(用于缩放)
CCControlButton:控制按钮,最复杂,最灵活
3.使用方法:
a.创建一个进度条:
CCControlSlider *slider = CCControlSlider::create("slider/sliderTrack.png", "slider/sliderProgress.png", "slider/sliderThumb.png");
第一个参数:背景图片,第二个参数:前景图片,第三个参数:是拇指按钮,其实内部实现原理是,分别创建三个精灵,然后相互作用形成进度条的视觉效果
b.创建一个开关:
CCControlSwitch *sw = CCControlSwitch::create(CCSprite::create("UI/switch-mask.png"), CCSprite::create("UI/switch-on.png"), CCSprite::create("UI/switch-off.png"), CCSprite::create("UI/switch-thumb.png"),CCLabelTTF::create("ON", "courier New", 20), CCLabelTTF::create("OFF", "courier New", 20));
和进度条控件一样,也是先分别创建三个精灵,后两个参数是创建两个标签,用于显示提示的文本
c.创建一个9妹图:用于缩放时,解决边框的毛刺问题
实现原理:用于处理图片放大时边框的毛刺和失真问题,它的原理是,将图片切割成9块,四个边角不放大,其余块缩放,从而可以有效的改善毛刺问题
创建一个9妹图:
CCScale9Sprite *s9spr = CCScale9Sprite::create("UI/scale9.png", CCRectMake(0, 0, 116, 102),CCRectMake(10,7,96,88));//后两个参数是设置图片大小和要缩放的矩形区域的大小,还不如不设置,使用默认的参数
d.创建一个控件按钮:CCControlButton,响应事件够多,够复杂,其实是多个其他控件的组合
CCScale9Sprite *bgButton = CCScale9Sprite::create("UI/button.png");//创建背景的按钮
CCScale9Sprite *bgButtonLighted = CCScale9Sprite::create("UI/buttonHighlighted.png");//创建选中的按钮
CCLabelTTF * text = CCLabelTTF::create("Touch Me", "Couier New", 50);
CCControlButton *button = CCControlButton::create(text,bgButton);
4.给控件添加响应事件: addTargetWithActinForControlEvents()
button->addTargetWithActionForControlEvents(this, cccontrol_selector(T12UI::touchDownCallBack),CCControlEventTouchDown);
Cocos2dx中的四种控件及主要用法的更多相关文章
- WEB页面中常见的四种控件的必须的测试
以下为常规的需求,除非需求有明确说明,如密码输入框中可以输入空格. 输入框 1. 为空,但页面中明确说明不能为空(带有星号或者只有这一个输入框),有以下两种情况: a. 不进行输入或者使其为空:焦 ...
- ASP.Net 中的三种控件
---恢复内容开始--- 第一种:HTML控件 ASP.Net把HTML控件当成普通字符串渲染到浏览器端,不去检查正确性.无法在服务器端进行处理. 比如: <input111 type=&quo ...
- HTML中禁用表单控件的两种方法readonly与disabled
时候我们会希望表单上的控件是不可修改的,比如在修改密码的网页中,显示用户名的文本框就应该是不可修改状态的,下面与大家分享下禁用表中控件的两种方法 在网页的制作过程中,我们会经常使用到表单.但是有时候我 ...
- 在Winform开发框架中,利用DevExpress控件实现数据的快速录入和选择
在实际的项目开发过程中,有好的控件或者功能模块,我都是想办法尽可能集成到我的WInform开发框架中,这样后面开发项目起来,就可以节省很多研究时间,并能重复使用,非常高效方便.在我很早之前的一篇博客& ...
- Excel中的表单控件和active控件
EXCEL中有两种控件:表单控件和active控件 表单控件是excel5和excel95开始使用的,从excel97开始,active控件开始出现 关于表单控件和active控件的区别和使用范围,网 ...
- [转] c#中 多线程访问winform控件
原文 c#中多线程访问winform控件的若干问题小结 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来解决这个问题,下面我将详细的 ...
- C/S模式开发中如何利用WebBrowser控件制作导航窗体
原文:C/S模式开发中如何利用WebBrowser控件制作导航窗体 转自: CSDN 相信不少同学们都做过MIS系统的开发,今天这里不讨论B/S模式开发的问题.来谈谈winform开发.用过市面上常见 ...
- @Html.CheckBoxFor为何输出两种控件
在MVC中当使用@Html.CheckBoxFor时表单上会产生两种控件checkbox和hidden,比如: @Html.CheckBoxFor(model => model.IsTop) 对 ...
- Web自动化框架LazyUI使用手册(6)--8种控件对应的class,及可对其进行的操作
概述: 本文详述8种控件对应的class,及可对其进行的操作 回顾: 回顾一下,下文中的工具设计思路部分: http://blog.csdn.net/kaka1121/article/details/ ...
随机推荐
- Linux 进程管理子系统
一.进程管理子系统 1.进程要素 (1). 程序与进程 程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体 进程:是一个执行中的程序,他是一个动态的实体. (2). 进程4要素 1.有 ...
- 一个网站的head和body是如何进行优化的
我们知道任何一个网站都要被解析成html后,浏览器才能识别,换句话说,用任何一门技术做的网站,都是被浏览器解析成为html.因此我们必须懂得,一个html页面由三部分组成,那就是html的开始标签和结 ...
- JS 异常: Uncaught RangeError: Maximum call stack size exceeded
遇到了这个js异常, 总是吧浏览器搞崩溃,这是什么原因呢? 开始我也只能想到死循环, 也许是哪个条件判断写错了,其实不是.经过google,发现了一篇文章,内容请看: ================ ...
- 如何用C#代码查找某个路径下是否包含某个文件
string path = "f:\\哈哈"; if (Directory.Exists(path)) { MessageBox.Show("存在文件夹") ...
- lua定时器与定时任务的接口设计
在所有的服务器编程当中,定时任务永远是一个不可或缺的需求.最直接的需求就是,每天凌晨0点0分的时候总是有一大堆的各种精力重置.怎么来设计这个接口呢,想了几个方案: 每秒触发 每分钟触发 每整点触发 每 ...
- mysql 存储过程详解 存储过程
mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成 ...
- ApplicationContext容器的设计原理
1.在ApplicationContext容器中,我们以常用的FileSystemXmlApplicationContext的实现为例来说明ApplicationContext容器的设计原理. 2.在 ...
- 前台JSP页面独立化
一直从事Java WEB开发的过程中,当然要常常写JSP文件. 本人对JSP文件有些自己的想法. 页面要尽可能的简单,整洁,条理. js文件要尽可能地放到独立的js文件中,然后引用到当前的JSP文件中 ...
- 利用word2vec对关键词进行聚类
1.收集预料 自己写个爬虫去收集网页上的数据. 使用别人提供好的数据http://www.sogou.com/labs/dl/ca.html 2.对预料进行去噪和分词 我们需要content其中的值, ...
- Java直接插入排序
插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法步骤: 1)将第一待排序序列第一个元素看做一个有序序列,把第二 ...