• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

游戏开发

Cocos2d创建通用UI

原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2019/0814/598.html

 
 
 
留意:开始是导入资源,笔者应用的是Mac领域,应用Xcode开辟工具,导入图片资源时,时常报错!说是找不到资源!挺烦闷的!后来App开发培训才晓得cocos2d的资源倒入是 “蓝色文件夹”,并且还要勾选下图的按钮
 
导入文件.png
笔者应用的环境是Mac,以前标签应用的是LabelTTF,新版本是 Label,新旧版本创建标签:
 
// 旧版本应用是没问题的,新版本有警告auto label01 = Label::create("this is the first label","Arial",36);
新版本的应用分开的模式才不会警告:
 
创建 标签
 
auto label01 = Label::create();
label01->setString("this is the first label");
label01->setSystemFontName("Arial");
label01->setPosition(320,180);
addChild(label01);
创建图片刻,cocos2d并不显得友爱:png 图片的后缀名也要写上,否者报错!
 
创建一个常州网站开发培训布景图(精灵)
 
Size size = Director::getInstance()->getVisibleSize();
Vec2 origin01 = Director::getInstance()->getVisibleOrigin();
auto *background = Sprite::create("background.png");
background->setPosition(size.width/2,size.height/2);
background->setScale(0.7f);
addChild(background);
创建一个菜单按钮 和完成点击
 
// 菜单按钮auto* pButton1 = MenuItemImage::create("button1.png", "button2.png", this, menu_selector(HelloWorld::menu));
auto buttonItem1 = Menu::create(pButton1, NULL);
buttonItem1->setPosition(Vec2(0, 0));
buttonItem1->setPosition(350, size.width/2 - 60);
buttonItem1->setScale(0.6f);
addChild(buttonItem1);
// 完成点击方法(.cpp)
 
// 点击方法void HelloWorld::menu(cocos2d::Ref *pSender)
{
  CCLOG("button pressed!!!");
}
// 申明 方法(.h)文件
 
 // 自界说一个点击方法void menu(cocos2d::Ref *pSender);
企业培训按钮的另外一种创建 Button
在.h 文件 导入:
** #include "ui/CocosGUI.h"**
using namespace cocos2d::ui;
// 自界说方法
void menuClickSleep(Ref *pSender, TouchEventType type);
 
在.m 文件 :
 
//创建Button工具,在cocosGUI中的全部控件都继承自Widget
Button* sleepButton = Button::create("homePicture/sleep_guoyu.png");
//配置标题,标题属性(字体大小、字体、色彩等)
sleepButton->setTitleText("Go");
sleepButton->setTitleFontSize(28);
//配置按钮地位
sleepButton->setPosition(Vec2(80, 80));
 
//配置Tag值,标识按钮,从Widget继承的属性,感化与iOS中UIView的tag值相似。sleepButton->setTag(1002);//配置按钮大小sleepButton->setScale(0.6f);// 配置按钮 监听事务sleepButton->addTouchEventListener(this, toucheventselector(HomeController::menuClickSleep));
// 显示按钮
this->addChild(sleepButton);
 
//其中常州软件技术培训回调函数的花样为:(监听方法)
 
void HomeController::menuClickSleep(cocos2d::Ref* pSender, TouchEventType type)
{
Button *sender = (Button*)pSender;
log("%d",sender->getTag());if (type ==ui::TouchEventType::TOUCH_EVENT_BEGAN) {
  CCLOG("开始点击。。。。。");  
  }
}
创建按钮方式3
导入:
 
#include "cocos-ext.h"
USING_NS_CC_EXT;
 
//  写法加倍靠近iOS 的UIButtonControlButton *btn = ControlButton::create();
btn->addTargetWithActionForControlEvents(<#cocos2d::Ref *target#>, <#Handler action#>, <#cocos2d::extension::Control::EventType controlEvents#>)
 

上篇:上一篇:cocos2dx3.0的触摸优先和触摸mask问题
下篇:下一篇:cocos2d-x 对一个方法延时执行操作