1.播放声音
#include "SimpleAudioEngine.h"//引入头文件 bool HelloWorld::init(){ if(!Layer::init()){ return false; } CocosDenShion::SimpleAudioEngine::getInstance() ->playBackgroundMusic("music.mp3",true);//播放音乐,重复播放 return true; }
<span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">playBackgroundMusic适合播放持续时间较长一点的音乐,播放打斗声的时候使用</span>
playEffect("pa.wav");
2.可拉伸的图片
Size visibleSize = Director::getInstance()->getVisibleSize();
Scale9Sprite* scale9Sprite = Scale9Sprite::create("HelloWorld.png");
scale9Sprite->setContentSize(visibleSize);
scale9Sprite->setPosition(Point(visibleSize.width/2,visibleSize.height/2));
this->addChild(scale9Sprite,0);
导入扩展库,
在解决方案,添加现有项目:D:\worktools\cocostests\HongGG\cocos2d\extensions\proj.win32\libExtensions.vcxproj
在项目右键,属性->通用属性->添加新引用,将libExtensions添加
然后配置属性->c/c++->常规->附加包含目录,编辑,加上一句$(EngineRoot)
最后就是运行了(背景图片是用点九弄的,总感觉怪怪的),
记得加上头文件哦
#include "cocos-ext.h"
using namespace cocos2d::extension;
3.CocoStudio UI编辑器
木头的版本是V1.4.0.1的,所以我使用的也是一样的。
使用UI Editor
新建工程
①将文本框拖动到画布中,输入HongGG,
②将按钮拖动到画布中,将resource的图片拖动到特性,资源里
③将图片拖动到画布中,将resource的图片拖动到特性,文件里
④导出文件,选中导出全部画布,导出使用大图,裁剪
⑤接下来就是在代码中展示出来了
将导出的复制到项目的resources目录下
导库
D:\worktools\cocostests\HongGG\cocos2d\cocos\editor-support\cocostudio\proj.win32\libCocosStudio.vcxproj
D:\worktools\cocostests\HongGG\cocos2d\cocos\ui\proj.win32\libGUI.vcxproj
引入头文件
#include "editor-support//cocostudio/CCSGUIReader.h"
#include "ui/CocosGUI.h"
using namespace cocos2d::ui;
using namespace cocostudio;
在代码中加入
auto xUI = cocostudio::GUIReader::getInstance()->widgetFromJsonFile("HongGGUI_1.ExportJson");//记载进ui
xUI->setPosition(Point(visibleSize.width/2,visibleSize.height/2));
this->addChild(xUI);
Button* button1 = (Button*)Helper::seekWidgetByName(xUI,"Button1");//找到名字是Button1的按钮
image1 = (ImageView*)Helper::seekWidgetByName(xUI,"Image1");//找到名字是Image1的图片
button1->addTouchEventListener(this,toucheventselector(HelloWorld::onClick));//给按钮设置监听
按钮的监听(点击按钮设置图片可见或不可见,效果图在上面的上面)
void HelloWorld::onClick(Ref* ref,TouchEventType type){
switch (type)
{
case Widget::TouchEventType::BEGAN:
break;
case Widget::TouchEventType::MOVED:
break;
case Widget::TouchEventType::ENDED:
if (image1->isVisible())
{
image1->setVisible(false);
}else
{
image1->setVisible(true);
}
break;
default:
break;
}
}
4.制作血量条
添加一个图片,在常规里有个颜色混合,设置为red
创建个进度条控件,将进度条控件拖到图片的上方,作为图片的子控件,当然,也可以不这样的
将进度设置成50,这里说一句,这里设置的50未必能成功,反正我的是失败了
/* 加载UI */
auto UI = cocostudio::GUIReader::getInstance()->widgetFromJsonFile("MoreUI_1.ExportJson");
UI->setPosition(Point(100, 100));
this->addChild(UI);
/* 获取控件对象 */
m_hpBar = (LoadingBar*)Helper::seekWidgetByName(UI, "hpBar");
/* 添加点击监听 */
m_hpBar->addTouchEventListener(this, toucheventselector(HelloWorld::onClick));
移动监听
void HelloWorld::onClick(Ref*, TouchEventType type)
{
switch (type)
{
case TouchEventType::TOUCH_EVENT_MOVED:
m_hpBar->setPercent(m_hpBar->getPercent() - 1);
log("%f",m_hpBar->getPercent());
break;
}
}