cocos2d-C++ 学习UI控件(一)之 Button|CheckButton
来源:互联网 发布:java常用服务器有哪些 编辑:程序博客网 时间:2024/05/10 22:53
最近在一家公司实习,自己就自学了cocos2dx,花了两个星期把cocos2dx-c++学了一遍,做了4个游戏。之后开始学习quick-cocos和cocos-lua,单当我在学的时候发现,自己其实存在很多问题,主要体现在不熟练。加之quick和cocos-lua的两套API,把我的兴趣越高越差。所以我决定在深入学习cocos2dx-c++并且把它的搞透彻了,熟练了,再转cocos-lua,其实cocos-lua的API和cocos-c++的很像。
后来我去问了公司一个做cocos2dx的同事,他的意思是把基础常用的熟练了,到时候做游戏遇到比较复杂的模块再去研究。所以我决定先把一些常用的基础的,在用一遍,并且熟悉API。当然也作为一个笔记,在我日后用到的时候方便查找。
其实Button和CheckButton 用cocos2dx的菜单类很好实现,当我现在讲的是cocos2dx的UI类中的
-------------------------------------------------------------------基础UI的Button
void HelloWorld::addButton(){//auto button = cocos2d::ui::Button::create("button/Button01.png", "button/Button01Pressed.png", "button/Button01Disabled.png"); //使用图片创建Buttonauto button = cocos2d::ui::Button::create(); //创建一个Button,纹理贴图后面添加//button->loadTextures("button/Button01.png", "button/Button01Pressed.png", "button/Button01Disabled.png"); button->loadTextureNormal("button/Button01.png"); button->loadTexturePressed("button/Button01Pressed.png");button->loadTextureDisabled("button/Button01Disabled.png");button->setPressedActionEnabled(false); //设置启用按钮被按下时的缩放操作button->setScale9Enabled(true); //打开scale9 可以拉伸图片button->setTitleText("BUTTON"); //设置按钮标题,还有其他函数可以设置颜色,字体大小button->setOpacity(100); //继承自node,设置node透明度,0完全透明button->addTouchEventListener(CC_CALLBACK_2(HelloWorld::touchEvent,this)); //设置按钮的触摸事件和作用目标(继承自Widget)button->setContentSize(Size(100, 40)); //设置按钮大小,必须setScale9Enabled(true),不然没有用button->setPosition(Vec2(400, 100));this->addChild(button,1);}//按钮的触摸事件回掉函数void HelloWorld::touchEvent(Ref *pSender, cocos2d::ui::Widget::TouchEventType type){switch (type){case cocos2d::ui::Widget::TouchEventType::BEGAN:log("BEGAN"); //按钮按下的break;case cocos2d::ui::Widget::TouchEventType::MOVED:log("MOVED"); //按钮按下并移动break;case cocos2d::ui::Widget::TouchEventType::ENDED:log("ENDED"); //按钮结束按下的break;case cocos2d::ui::Widget::TouchEventType::CANCELED:log("CANCELED"); //按钮按下取消break;default:break;}}-------------------------------------------------------------------基础UI的CheckButton
void HelloWorld::addCheckBox(){auto checkbox = CheckBox::create("button/CheckBoxButton2Off.png", "button/CheckBoxButton2On.png", TextureResType::LOCAL); //使用选中和取消图片创建复选框checkbox->setPosition(Vec2(200, 100));checkbox->addEventListener(CC_CALLBACK_2(HelloWorld::CheckButtontouchEvent,this)); //注册一个回调函数,它将在复选框被选中或者取消选中时被调用。this->addChild(checkbox, 1);}void HelloWorld::CheckButtontouchEvent(Ref* pSender, CheckBox::EventType type){switch (type){case CheckBox::EventType::SELECTED: log("checkbutton selected");break;case CheckBox::EventType::UNSELECTED:log("checkbutton unselected");break;default:break;}}
下一节我介绍一下使用菜单类实现这两个控件
0 2
- cocos2d-C++ 学习UI控件(一)之 Button|CheckButton
- cocos2d-C++ 学习UI控件(二)之 菜单项实现Button|CheckButton
- Android第四讲——常用的基本控件(一)TextView、EditText、Button、RadioButton、CheckButton、ImageView
- cocos2d-C++ 学习UI控件(三)之 LoadingBar|ScrollView
- cocos2d-C++ 学习UI控件(四)之 Slider|ListView
- cocos2d-C++ 学习UI控件(五)之 PageView
- cocos2d-x-3.13\cocos\ui控件Button
- Python--Tkinter之 Button()/Checkbutton()/Radiobutton()
- 《老罗Android》学习之UI控件Button
- 学习Button按钮控件(一)
- Android:基础控件之(一)Button
- Cocos2d-x学习笔记(七)-------->Button控件
- PyGobject(十)布局容器之Button篇——Gtk.CheckButton
- Unity UI(五):交互式控件之Button
- Android UI学习之---Button
- Quick-Cocos2d-x UI控件之进度条(UILoadingBar)控件
- Android基础UI控件之Button
- iOS UI控件学习---swift(一)
- 周杰伦、范冰冰、陈冠希、刘涛……为何对直播无法自拔
- 仿人人客户端的滑动效果
- 学生宿舍分配方案优化
- 基于R-CNN的物体检测-CVPR 2014
- c++学习_构造函数的三种情况下的应用
- cocos2d-C++ 学习UI控件(一)之 Button|CheckButton
- C++技巧
- hdu 1175 连连看 搜索—dfs
- 1 余晟:程序员学英语三部曲
- 定制centos
- Java Web -- Servlet(10) 中文乱码处理专题
- C# Action<T>
- codecs 组成
- Spring在代码中获取bean的几种方式