转眼七月份就到了,2014已经过了一半,而我也最终算是有“一年工作经验“了,开心ing。

回想这一年Cocos2dx的游戏开发经历,去年下半年重心主要在游戏的逻辑上,而今年上半年重心转至UI上,如今看来也算是有个比較全面的锻炼。

一直想系统的学下lua,但是总被这个事那个事给耽搁了。我是个挺懒的人,下班后的时间更偏向于做一些代码之外的事,周末差点儿都是东奔西跑,呆在家里也是玩玩LOL。

也不知道这样的习惯究竟好不好。我以前一度想想大多程序猿一样,熬夜到两三点研究学习下新知识,但最终都以失败告终,习惯了十二点前睡觉的习惯,熬夜确实非常吃力。

-----------------------------------

说道Cocostudio,事实上非常早以前就有下来研究了,仅仅是那时认为用起来还比較麻烦,并且项目中也临时都没用到的,也就临时搁置一旁。cocos2dx 3.0版本号推出后,在 笨木头博客里的《别杀我》系列教程中看到他介绍了怎样使用Cocostudio,我才顿悟!原来这货已经变得这么好用了啊。

我学习新东西时都有做笔记的习惯,学习Cocostudio自然也不例外。这份笔记存放在云盘中已经有一段时间了,初衷是不打算发到博客上来的,毕竟是笔记,技术层面较为基础。但后来想想,我当初写博客的初衷是什么?还不是当云笔记来用吗?(希望某人看到别打我),方便自己的同一时候也可以帮到一些人。

以下简要声明几点:

1、尽管笔记篇幅较多,但我尽量仅仅用三四篇就将它们全都发出来。

2、着重要说的一件事:做笔记是没有截图的,所以,大家都看文字吧。所以本人的文採还过的去,应该不会看得太无趣,哈哈!

3、笔记中我没有提到在Cocostudio中的那些控件应该怎样使用,由于优酷上有个视频教程讲的还是蛮清楚的:

http://i.youku.com/u/UNTk3MDQ4NzA0?from=113-2-1-2

4、尽量别吐槽.......

---------------------------------

扯完了,进入正题吧。

cocostudio怎样在cocos2dx中跑起来了呢?看以下。

1、在cocostudio下创建完项目,记得每一个控件相应的name,由于程序中是通过这个name来获取该控件的

2、导出项目,可以直接导入到cocos2dx项目的Resourses文件夹下,导出的文件包括项目用到的资源,最重要的还是.json文件

3、打开cocos2dx项目文件(VS2012以上版本号),将libCocostudio,libExtensions,libGUI三个库文件导入到解决方式中,导入方法也就是选中“解决方式”,右键,加入�现有资源,然后自己到Cocos2dx根文件夹的cocos文件夹下找吧。

4、包括头文件

#include "cocostudio/CocoStudio.h";
using namespace cocostudio;

假设不出意外的话, 上面两条代码写完编辑器是会报错的,由于找不到该头文件。为什么呢?明明有Cocostudio.h这个头文件不是,可为什么找不到呢?原因就在于把IDE想得太智能了,它也是要在默认的那些文件夹下寻找头文件的。所以接下来就是要设置默认文件夹,方法例如以下:
选中自己创建的项目,如HelloWorld,右键,在弹出的菜单中选择最下方的 项目属性 ,在出现的窗体里选择C/C++,选择附加包括文件夹,然后将”cocos2d-x-3.0\cocos\editor-support“加入�进去。
确定后退出该设置,这时候看代码的话会发现头文件那个位置不在报错了。

5、编译下项目,可能会在编译成功的情况下报错,什么未找到_stdcall之类乱七八糟的东西在哪个文件下使用了,出现这样的情况无疑有两种原因:
1)在class声明里你声明了一个函数,但是没有在.cpp里定义;
2)没有在连接器里的 输入 加入�附加依赖项。

这里我出现的情况无疑就是另外一种原因了,接下来要做的就是改动附加依赖性了,方法:
选中自己创建的项目,如HelloWorld,右键,在弹出的菜单中选择最下方的 项目属性 ,在出现的窗体里选择链接器,选择 输入
附加依赖项,然后将 libGUI.lib 输进去。

6、再次执行程序,明明就要跑起来了,可又出错了,提示 LINK : fatal error LNK1104: 无法打开文件“libGUI.obj”
尼玛的,报这样的错误是我最不想要面对的!由于...是我大意了,由于在上一步的最后一个操作,我将libGUI.lib写成的libGUI,所以肯定出错。赶紧将.lib加入�上去

7、继续编译,本以为成功了,结果还是出错,出错的情况和第5步相似。说实话,此刻我已经处在了暴走的边缘,我仅仅是想编译个项目,你至于这样为难我吗?最后没办法,仅仅能使用大杀器。
选中自己创建的项目,如HelloWorld,右键,在弹出的菜单中选择最下方的 项目属性 ,在出现的窗体里选择 通用属性 -- 框架和引用 -- 加入�新引用 -- 之后会出现一堆lib**,我在这里讲libCocostudio,libExtenstions,libGUI都选中加入�进去。

8、我发誓,这是最后一次编译,假设还出错我就...就去睡觉了。恩,猛的按了下F5然后赶紧转过头去假装做其它事,但时不时瞄向屏幕的眼神还是出卖了我当时的紧张心理(尼玛,程序猿就是这么刺激)。最后,啊哈,成功了!

9、最后要做的肯定就是将Cocostudio制作出来的project显示在程序窗体中,调用以下代码:

auto UI = GUIReader::getInstance()->widgetFromJsonFile("HelloUI_1.Json");
this->addChild(UI);

当中.json文件就是在cocostudio中导出的文件啦。

10、再次编译,这画面太美我敢看。

尊重原创,转载请注明来源:http://blog.csdn.net/star530/article/details/36501195

Cocostudio学习笔记(1) 扯扯蛋 + 环境搭建的更多相关文章

  1. Java web与web gis学习笔记(一)——Tomcat环境搭建

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  2. Scala学习笔记(一):环境搭建

    计算机领域的编程语言种类繁多,如C.C++.Java.C#等,我们知道的一般都是较为流行的编程语言,然有更多的是没听说过的,于是也就说不上关注或者使用了 一次在网上查资料时,无意间看到了“函数式编程” ...

  3. Android学习笔记(一)开发环境搭建

    Android开发环境搭建 安装JDK 1.如果你还没有JDK的话,可以去这里http://www.oracle.com/technetwork/java/index.html ,接下来的工作就是安装 ...

  4. Hadoop学习笔记1:伪分布式环境搭建

    在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下: 1.CentOS 6.7下安装JDK , 地址: http://blog.csdn.net/yule ...

  5. Android自动化学习笔记之MonkeyRunner:MonkeyRunner环境搭建

    ---------------------------------------------------------------------------------------------------- ...

  6. angularjs2 学习笔记(一) 开发环境搭建

    开发环境,vs2013 update 5,win7 x64,目前最新angular2版本为beta 17 第一步:安装node.js 安装node.js(https://nodejs.org/en/) ...

  7. 【深度学习笔记】Anaconda及开发环境搭建

    在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了. 感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学 ...

  8. java学习笔记 (1) —— Strut2.3.24环境搭建

    1.打开MyEclipse,添加WebProject,名称为testStruts2 2.配置Tomcat环境. 1) 在窗口——首选项——MyEclipse——Servers下找到Tomcat6.x ...

  9. [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行

    本文作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/25745945 内容简介: ------------ ...

  10. Java学习笔记之:Struts2.0 环境搭建

    一.介绍 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互. 二 ...

随机推荐

  1. 定义文字用em、rem,效果和px一样

    1em=16px font-size: 2.4rem;/*2.4 × 10px = 24px*/

  2. Win7系统下完全删除Mysql

    今天不知为什么Mysql服务器突然连接不上,于是胡乱折腾了一番,导致最后不得不重新安装Mysql.安装不成功,服务器起不来,就是最后那步的时候服务器启动不了,这是因为Mysql在卸载的时候没有彻底卸载 ...

  3. SQL SERVER CEILING 函数 取整时的坑。。。

    CEILING ---返回大于或等于指定数值表达式的最小整数 当舍去同一个大小的值 但是正负方向不一致时要注意小数位四舍五入的问题   例如: SELECT CEILING($123.45), CEI ...

  4. iOS - 正则表达式判断邮箱、身份证..是否正确:

    iOS - 正则表达式判断邮箱.身份证..是否正确: //邮箱 + (BOOL) validateEmail:(NSString *)email {     NSString *emailRegex ...

  5. 批处理文件的@echo off是什么意思?

    @echo off 关闭回显 @echo on 打开回显 @echo off并不是DOS程序中的, 而是DOS批处理中的. 当年的DOS,所有操作都用键盘命令来完成, 当你每次都要输入相同的命令时, ...

  6. ubuntu删除openjdk,安装 Sun JDK

    1.到官网下载安装包: jdk-7-linux-i586.tar.gz 2.创建安装目录:sudo mkdir /usr/lib/jvm 3. 解压缩:tar zxvf ./jdk-7-linux-i ...

  7. SpringMvc配置 导致实事务失效

    SpringMVC回归MVC本质,简简单单的Restful式函数,没有任何基类之后,应该是传统Request-Response框架中最好用的了. Tips 1.事务失效的惨案 Spring MVC最打 ...

  8. 执行计划中常见index访问方式(转)

    近期有朋友对于单个表上的index各种情况比较模糊,这里对于单个表上,单个index出现的大多数情况进行了总结性测试,给出了测试结果,至于为什么出现这样的试验结果未做过多解释,给读者留下思考的空间.本 ...

  9. Data 语义学(2)

    四."继承"与 Data Member (1). 只有继承没有多态 先来看个例子 #include <iostream> using namespace std; cl ...

  10. WordPress Duplicator 0.4.4 Cross Site Scripting

    测试方法: 提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! Advisory ID: HTB23162 Product:DuplicatorWordPressPlugin Vend ...