Cocos2d创建常见UI

Spine入门(Spine 是一款针对游戏的 2D 骨骼动画编辑工具) : http://www.tairan.com/archives/11066/

注意:首先是导入资源,笔者使用的是Mac平台,使用Xcode开发工具,导入图片资源时,经常报错!说是找不到资源!挺纳闷的!后来才知道cocos2d的资源倒入是 “蓝色文件夹”,而且还要勾选下图的按钮

Cocos2d创建常见UI_第1张图片
导入文件.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 的UIButton
ControlButton *btn = ControlButton::create();
btn->addTargetWithActionForControlEvents(<#cocos2d::Ref *target#>, <#Handler action#>, <#cocos2d::extension::Control::EventType controlEvents#>)

你可能感兴趣的:(Cocos2d创建常见UI)