Cocostudio学习笔记(1) 扯扯蛋 + 环境搭建
转眼七月份就到了,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) 扯扯蛋 + 环境搭建的更多相关文章
- Java web与web gis学习笔记(一)——Tomcat环境搭建
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- Scala学习笔记(一):环境搭建
计算机领域的编程语言种类繁多,如C.C++.Java.C#等,我们知道的一般都是较为流行的编程语言,然有更多的是没听说过的,于是也就说不上关注或者使用了 一次在网上查资料时,无意间看到了“函数式编程” ...
- Android学习笔记(一)开发环境搭建
Android开发环境搭建 安装JDK 1.如果你还没有JDK的话,可以去这里http://www.oracle.com/technetwork/java/index.html ,接下来的工作就是安装 ...
- Hadoop学习笔记1:伪分布式环境搭建
在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下: 1.CentOS 6.7下安装JDK , 地址: http://blog.csdn.net/yule ...
- Android自动化学习笔记之MonkeyRunner:MonkeyRunner环境搭建
---------------------------------------------------------------------------------------------------- ...
- angularjs2 学习笔记(一) 开发环境搭建
开发环境,vs2013 update 5,win7 x64,目前最新angular2版本为beta 17 第一步:安装node.js 安装node.js(https://nodejs.org/en/) ...
- 【深度学习笔记】Anaconda及开发环境搭建
在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了. 感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学 ...
- java学习笔记 (1) —— Strut2.3.24环境搭建
1.打开MyEclipse,添加WebProject,名称为testStruts2 2.配置Tomcat环境. 1) 在窗口——首选项——MyEclipse——Servers下找到Tomcat6.x ...
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行
本文作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/25745945 内容简介: ------------ ...
- Java学习笔记之:Struts2.0 环境搭建
一.介绍 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互. 二 ...
随机推荐
- 1.dubbo的安装 quickstart
按照官网给定的指导,执行下面的步骤即可 1.Import the dubbo source code to eclipse project 在eclipse中安装git插件 egit 直接可以从git ...
- Sublime text3 JS语法检测工具安装及使用
Sublime text3 JS语法检测工具安装及使用 工具/原料 sublime text3 nodejs sublimeLinter sublimeLinter-jshint 方法/步骤 首先ct ...
- nodejs版本控制
本方法基于https://segmentfault.com/a/1190000004855835修改 配置: 使用的nvmw的git 地址https://github.com/hakobera/nvm ...
- vertical-align:top属性
vertical-align这个是设置元素的垂直排列的. 用来定义行内元素的基线相对于该元素所在行的基线的垂直对齐. 它的值比较多:baseline | sub | super | top | tex ...
- Js冒泡事件和捕获事件
js中冒泡事件和捕获事件: 冒泡事件:冒泡事件是从里向外,即是从被绑定元素开始一直向外到达页面的所有祖先元素都会被触发,这 一过程被称为事件冒泡.这个事件从原始元素开始一直冒泡到DOM树的最上层 捕获 ...
- Shell 控制并发
方法1: #!/bin/bash c=0 for i in `seq -w 18 31`;do while [ $c -ge 3 ];do c=$(jobs -p |wc -w) sleep 1s d ...
- Sequoyah 本机开发Native Development: Invalid path for NDK(路径无效) 解决方案
打开window菜单下的preference选项.选择Android,Native Development(本地开发) 选择你的NDK安装目录. 但是,这个插件目前仅支持ndk的r4和r5版本,更高版 ...
- IOS设计模式之三:MVC模式
IOS设计模式之三:MVC模式 模型-视图-控制器 这个模式其实应该叫做MCV,用控制器把model与view隔开才对,也就是model与view互相不知道对方的存在,没有任何瓜葛,他们就像一个团 ...
- CSS HACK的方法
所有浏览器 通用 height: 100px; IE6 专用 _height: 100px; IE7 专用 *+height: 100px; IE6.IE7 共用 *height: 100px; IE ...
- Node.js规范化应用
Node.js运行在一个单线程模式,但它使用一个事件驱动范例来处理并发.它还有助于创建子进程,以充分利用并行处理的多核CPU系统. 子进程总是有三个流child.stdin,child.stdout和 ...