cocos2d-x中,CCSAXParser的一个小问题

十月 9th, 2011 / 2 Comments » / by Haven

我觉得这可能是一个Bug,但拿不太准,上次在这里 乱说cocos2d-x没有API,事后Walzer解释说是我没找对地方,有了前车之鉴,现在说话得小心了。废话少说,言归正传:

今天用CCSAXParser解析xml文件,编译通不过,报link异常:
2>XMLParser.obj : error LNK2019: 无法解析的外部符号 “public: __thiscall cocos2d::CCSAXParser::~CCSAXParser(void)” (??1CCSAXParser@cocos2d@@QAE@XZ),该符号在函数 “public: bool __thiscall XMLParser::parserFile(char const *)” (?parserFile@XMLParser@@QAE_NPBD@Z) 中被引用
2>XMLParser.obj : error LNK2019: 无法解析的外部符号 “public: bool __thiscall cocos2d::CCSAXParser::parse(char const *)” (?parse@CCSAXParser@cocos2d@@QAE_NPBD@Z),该符号在函数 “public: bool __thiscall XMLParser::parserFile(char const *)” (?parserFile@XMLParser@@QAE_NPBD@Z) 中被引用
2>XMLParser.obj : error LNK2019: 无法解析的外部符号 “public: void __thiscall cocos2d::CCSAXParser::setDelegator(class cocos2d::CCSAXDelegator *)” (?setDelegator@CCSAXParser@cocos2d@@QAEXPAVCCSAXDelegator@2@@Z),该符号在函数 “public: bool __thiscall XMLParser::parserFile(char const *)” (?parserFile@XMLParser@@QAE_NPBD@Z) 中被引用
2>XMLParser.obj : error LNK2019: 无法解析的外部符号 “public: bool __thiscall cocos2d::CCSAXParser::init(char const *)” (?init@CCSAXParser@cocos2d@@QAE_NPBD@Z),该符号在函数 “public: bool __thiscall XMLParser::parserFile(char const *)” (?parserFile@XMLParser@@QAE_NPBD@Z) 中被引用

仔细检查了代码,没看出什么异常来。后来检查cocos2d-x的源文件。发现是CCSAXParser的定义中没有加CC_DLL,只要把CCSAXParser.h文件中的class CCSAXParser。。。。修改为class CC_DLL CCSAXParser即可正常编译和运行。

至于原因我就不说了,免得像我这种半斤八两的人说出来又贻笑大方了。

Tags:

闲话微博

九月 21st, 2011 / 1 Comment » / by Haven

微博确实是个好东西,作为你一个80后或90后,你还不了解什么是微博,你可能失去了了解这个世界的一个重要通道,你可能不会知道苍井空的英语有多烂,也可能不知道郭美美有多有钱,甚至不知道你的那个他(她)昨天吃了碗什么面。但是看着很多人每天为了关注或被关注,如痴如醉的在微博上浪费着自己的时间的时候,我有些迷茫了。

如果你只是一个普通的老百姓,每天等着下班,等着发工资,无论你关注多少人或被多少人关注,也不会为你的生活带来多少物质上的改善。最多也只是在和朋友的闲谈调侃加点新鲜话题,可能你一直没注意到,你那些用了很多时间关注来的新闻,其实大家转瞬即忘。

对于个人生活而言,微博就是将个人的生活赤裸裸的展示给别人,如果你不是郭美美,其实你的生活里并没有那么多值得你炫耀的东西,你生活里的喜怒哀乐仅仅付诸于别人的笑谈中。

如果你每天上班时间还念念不忘自己的微博,时不时偷偷点出来看一下,如果你在走路或吃饭的时候,两眼的焦点还在手机上,如果你在和朋友的交谈中总忍不住会自豪的说我关注了谁、谁关注了我、有多少人关注了我。。。。。。你应该认真思考一下,微博是否占据你太多的时间。

没装显卡驱动,开发cocos2d—x的问题

九月 8th, 2011 / 3 Comments » / by Haven

为了满足跨平台的需求,公司决定用cocos2d-x引擎来开发所有Android平台游戏,对于我这个抱着java从娘肚子里出生的来说,意味着要重新学c/c++,而且cocos2d-x作为一个较新的引擎,研究和使用的人很少,文档资料少的可怜,连最起码的API都没份完整的,每天我孤独的啃着生硬的cocos2d-x,寂寞的内牛满面啦。。。。。

不过还好coco2d-x基本是完整的移植coco2d-iphone,所以如果你熟悉coco2d-iphone的话,coco2d-x基本也就没什么问题,如果你连coco2d-iphone也不熟【就像悲剧的我一样】,其实也不要怕,至少你还熟悉c++吧,如果你连c++也不懂,呃。。。。那我们就可以握手了。

刚开始运行自己写的cocos2d-x Demo的时候出了个很奇怪的错误:
PVR: VFrame attempted to use one of this functions
PVR: wglChoosePixelFormatARB
PVR: but they are not present on your machine

Image

折腾了好久,才发现原来是公司的电脑都没装显卡驱动,只要装下最新的驱动就好了,那一刻真想爆了IT部门的菊花,装系统也太偷懒了。

再磨叽几句,cocos2d-X没有完整的API,这个你可以直接用cocos2d-iphone的API,类名和函数名基本一样,一般使用都没问题。还有cocos2d-x还不是一个很成熟的引擎,掉帧现象比较严重,性能方面表现也一般,且根据官方的说法,需要在Android 2.2上才能满性能发挥,但如果你不是做特别大型和复杂的游戏,其实完全没问题,毕竟现在cocos2d-x已经出来很多很不错的游戏,比如现在很火的“捕鱼达人”。另外国内还有一款和cocos2d-x很类似的引擎,叫“微云”,也是用c++开发的,性能上没做深入测试,掉帧现象基本没有,实例比较丰富,代码封装度比较高,但不开源。cocos2d-x也是国人做的,可官方的所有说明和文档基本是英文,这点有点让人不爽。cocos2d-x和微云在国内某知名的Android论坛还有过口水之争,甚至牵扯出双方身世之类,其实我觉得做技术的人应该比较淡定才对,英雄不问出处,做好自己的产品才是最重要的。

Tags: ,

设置Android系统程序的默认安装位置为SDCard

八月 21st, 2011 / 1 Comment » / by Haven

最近手机抽风,突然没信号或者信号很差,开始还以为是移动的问题,后来才知道自己错怪了10086。不得已只能刷机,把系统从2.1升到了2.2.1,原本以为升到了2.2就可以告别因装软件太多,内存不够用的时代,结果却发现,2.2的默认安装位置还是手机内存,只是装好以后可以用户可以去“应用程序管理”里,手动装安装的程序移动到SDCard,这不是坑爹嘛,像我这种手机装的软件有100多个的人,一个一个移动很是要老命。查了下发现,原来可以通过命令手动设置默认的安装路径。这对我们Android开发人员来说不是什么难事。其实普通用户也可以做到的。

首先去Android网站去下载android的SDK。网站是这里:http://developer.android.com/sdk/index.html。根据你的操作系统下载,Windows有两种格式。ZIP和EXE。随便下哪种都可以。下载完成后安装,ZIP格式的直接解压就可以,EXE的就根据提示一步一步点下去就好了【如果你这都不会,那后面的就别看了。。。】。但要记得你的安装路径,后面会用到。 阅读全文…

Tags:

杂。。。。

七月 17th, 2011 / 2 Comments » / by Haven

今天在公车上看到一年一度的青海湖环湖赛,才蓦然察觉,自己已经在忙碌的生活中渐渐的淡忘了曾经在自己生活占有重要地位的东西,而自己却浑然不觉。突然间回想起来,心里无比失落。

回成都后,每天忙碌的工作和烦琐的生活基本充斥了我生活的全部,每天早上6点过就起床,在睡眼惺忪中挤上公交车,到办公室人还没完全清醒过来就要投入一天繁重的工作过,下午回到家已经是晚上8点过,有时候出现特殊情况可能回到10点过才能到。在回家的公交车上看着别人已经吃好饭,牵着狗遛好步走向回家的路,而我才刚刚结束一天的工作,忍不住会问自己到底追求的是什么?在别人眼里自己拿着相对不错的薪水,每天安稳的坐在办公室里不用风吹日晒,每月工资会按时的划到卡里,不用担心这个月的收入。。。听上去是很不错的生活,应该觉得很满足才对,但我不知道自己心理的失落从何而来。 阅读全文…

Android面试题(一)

六月 19th, 2011 / 3 Comments » / by Haven

回成都找工作期间面试了很多公司,大大小小的都有,但这次基本选择的是Android方面的工作,面试的方式也五花八门,有远程笔试,网络面试,电话面试等等,现在工作基本订下来,整理一下这些面试里比较有代表性的题。
这是一道初级笔试题,要求根据提供的的资源做一个flash演示动画的Loading效果,flash动画如下:
阅读全文…

Tags: ,