cocos2dx button的使用以及cocostudio/ObjectFactory.h: No such file or directory错误解决方案

上一篇博客里面讲过menu,在跟玩家交互的过程中,我们有些时候也需要使用到一些独立的button,cocos2dx中也有相应的button的控件可以使用,下面我们来看看如何进行使用。

首选需要包含所需要的头文件

#include "ui/CocosGUI.h"

然后为了使用方便,我们设置一下命名空间:

using namespace ui;
接下来我们来创建一个简单的button:

首先我们看官方文档:

http://cn.cocos2d-x.org/doc/cocos2d-x-3.0/d2/db1/classcocos2d_1_1ui_1_1_button.html#adf271b1be4c753b7f9ddf23e8f67c530

static Button* create	(	const std::string & 	normalImage,const std::string & 	selectedImage = "",const std::string & 	disableImage = "",TextureResType 	texType = TextureResType::LOCAL 
)		

这是button的create函数,我们可以看到,第一个参数是未被选中时的纹理,第二个是被选中时的纹理,第三个是不可备选的纹理。这里只有第一个参数是必须的,后面的都有认值,那么我们创建一个简单的:

auto btn0 = Button::create("test.png");

因为button是继承与node,所以一些set***的函数都可以使用,日入setScale,setPosition等等。此外还可以给button绑定事件监听函数,这些内容大家随便百度一下就能找到,这里要着重说明的一个问题是在使用button的时候很多人都遇到一个问题:

就是在编译链接的时候cocostudio/ObjectFactory.h: No such file or directory出现这个错误,这个错误的原因其实是因为在项目自动生成的时候,不会去链入ui相关的lib,所以需要手动添加,很简单,将Android.mk中的:

LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static

$(call import-module,editor-support/cocostudio)
这两行的注释去掉即可。这个错误也是困扰我近一个晚上的错误,win平台下可以通过导入项目lib来fix。

相关文章

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