Spine入门(Spine 是一款针对游戏的 2D 骨骼动画编辑工具) : http://www.tairan.com/archives/11066/
注意:首先是导入资源,笔者使用的是Mac平台,使用Xcode开发工具,导入图片资源时,经常报错!说是找不到资源!挺纳闷的!后来才知道cocos2d的资源倒入是 “蓝色文件夹”,而且还要勾选下图的按钮
笔者使用的环境是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#>)