【Cocos2d-x3.0学习笔记 04】进一步的学习

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;
    }
    
}

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...