随笔分类 -  cocos2d-x

摘要:初步理解的js里一个对象的写法: GameLayerGameLayer.jsvar GameLayer = cc.Layer.extend({//私有属性(带下划线"_",但其实也可以被外部被访问到)_parm1:null,_parm2:0,//公共属性(不带下划线)parm3:false,//实例... 阅读全文
posted @ 2013-07-11 23:49 居家懒人 阅读(418) 评论(0) 推荐(0)
摘要:有时警告提示无法在选定的设备运行当前项目,解决办法就是关掉xcode, 打开,连接方式选择真机,编译,编译成功之后再关闭,打开,然后就可以真机运行了。 阅读全文
posted @ 2013-01-23 00:20 居家懒人 阅读(396) 评论(0) 推荐(0)
摘要:和上篇文章里方法1不同的是只要按住屏幕的手不松开,主角会一直往触屏点相对与地图的本地坐标点移动,直到最终走到了触屏点。其实就是类似于开启了个定时器,每次定时一到就去监测是否有新的目标点。 1 // 2 // FightLayer.h 3 // VictoryMarchDemo 4 // 5 // Created by jiading on 13-1-15. 6 // 7 // 8 9 #ifndef __VictoryMarchDemo__FightLayer__10 #define __VictoryMarchDemo__FightLayer__11 12 #include "co 阅读全文
posted @ 2013-01-23 00:01 居家懒人 阅读(1995) 评论(0) 推荐(0)
摘要:大多横板游戏主角的移动都是有背景一起在移动的,不单单是主角在动。当主角的位置离地图的左端距离小于屏幕宽度的一半或者主角离地图最右端的距离小于屏幕宽度的一半时,触屏之后就人物在移动,背景没有动,当主角位于这端中间的位置时,触屏之后主角移动的同时,背景也在往主角反方向移动,一旦当主角移动到两端的内边界时,背景就停止移动,只主角移动。这段代码放到这里做个备份,不是最终版,而且也不是性能最高的解决办法,当主角走到两端时,背景偶尔会走多了出线黑边,功能:每次点击屏幕之后,主角停止当前的动作,走到触屏的那个点然后停下来。 1 // 2 // GameLayer.h 3 // PlayerActionT.. 阅读全文
posted @ 2013-01-22 23:48 居家懒人 阅读(5253) 评论(2) 推荐(0)
摘要:粗略写了个Player类,用来测试人物的待机动作和奔跑动作的播放,以及两种动作的切换播放。1,这里要用到plist文件,对于plist,我目前的理解就是:plist和xml很像,可以说就是xml, 不过在mac下面就成了plist,美术资源如果是一张有9个帧动作的图片,那么plist文件里就应该有9个dict节点来分别对应这9个动作,每个节点里的属性包括精灵大小、需要渲染的纹理矩形的左上角和右下角这两个点的坐标、坐标偏移值、精灵单张原始图片的大小...最开始时是想通过setPostition和 setAnothorPoint来解决人物的原点位置设置,但发现可以直接在plist里设置offset 阅读全文
posted @ 2013-01-02 17:35 居家懒人 阅读(4597) 评论(1) 推荐(1)
摘要:之前做的PreLoader由于继承自CCOBject,加载一个文件后就让CCHttpRequest->release(),这时发现Preloader的析构函数会被调用,说明Prelaoder正常释放了,可以如果用这个CCHttpReqeust的一个 实例来做队列加载,不管是每次队列循环时release(),还是在最后一次加载release(),Prelaodre 就是不能被释放,虽然资源时都加载好了。原因没有找到,临时处理办法就是每次的队列循环都new一个CCHttpReqeust的实力,每次CCHttpCLient send()之后就把这个request实力releast()掉就ok了 阅读全文
posted @ 2012-12-19 15:33 居家懒人 阅读(1290) 评论(0) 推荐(0)
摘要:写了个继承自CCObject的自定义类Preloader,内部使用CCHttpReqeust来做资源队列加载,类的头文件中并没有写CREATE_FUNC(Preloader);这么一句宏定义,也就不用写宏定义中所学的init() 方法了,还节省了个静态方法create(),直接在使用Preloader的地方new Preloder(),然后实例指针调用一下->autorelease()方法,就象CCObject的create()宏定义中所作的。一开始程序运行到最后,也没看到Preloade的析构函数被调用,后来在Preloader逻辑的最后加上一句CCHttpReqeust的实力指针-& 阅读全文
posted @ 2012-12-11 15:33 居家懒人 阅读(973) 评论(0) 推荐(0)
摘要:通过CCFileUtils的fullPathFromRelativePath方法可以返回项目Resources目录下的文件的完整路径,需要在方法里传入文件的名字+.+后缀名;但如果如果把存在余缓存中(/var/mobile/Applications/XXX/Library/Caches/)的文件名传入上面的方法,那么返回的仍然是文件的名称,而不是完整路径(可能不存在的文件也会这么返回),如果想到得到缓存中文件的完整路径,可以用CCFileUtils的getWriteablePath()和文件名拼接成完整路径。 阅读全文
posted @ 2012-12-07 14:57 居家懒人 阅读(731) 评论(0) 推荐(0)
摘要:1,如果类的一个变量在构造方法里赋初始值时,所赋的值的类型和变量申明时的类型不一致,会出现以下 bug,可能 xcode 不会精确的定位的错误所在。 阅读全文
posted @ 2012-12-07 11:35 居家懒人 阅读(157) 评论(0) 推荐(0)
摘要:想加载网络图片,但是并没有在cocos2d-x api里找到相关的类,于是在网上搜到了在cocos2d-platform里有libcurl这个工具,支持http,ftp等协议,看网上的代码,在ios平台可以把网络上的图片下载下来,但是一回到家在android平台测试就是不行,然后把图片换成了xml文本,结果发现只能打印一部分文本,于是发现错误应该就是fwrite()写文件时出的错误,之后发现2dx的CCHttpClient里本来就有curl,本来之前在做一个聊天应用时和后台http通讯就是用的CCHttpClient,现在才知道CCHttpClient也的也可以下载文件。于是不在直接curl, 阅读全文
posted @ 2012-12-02 21:24 居家懒人 阅读(2491) 评论(0) 推荐(0)
摘要:xcode证书绑定、真机测试、xcode快捷键、项目目录引用和group... c/c++,堆,栈,指针,函数指针,typedef定义类型,标准库,宏,枚举,模板,虚函数继承,多继承,... BSD socket,pthread,tinyXML,eclipse NDK,android.mk,vs10... lua绑定,tolua++,2dx TestCpp,jsoncpp,openGL ES,CCTexture2d... 阅读全文
posted @ 2012-11-29 00:08 居家懒人 阅读(178) 评论(0) 推荐(0)
摘要:1.自动内存管理1)概述C++语言默认是没有提供自动内存管理的。使用者需要自己分配,自己释放。在cocos2d-x里提供了一个自动内存管理的方案。主要是通过CCObject来提供的,用户只要继承了CCObject,就可以通过调用autorelease()来告诉系统进行自动内存管理。一般用法就是:CCLayer* pLayer = CreateLayer(s_nActionIdx);pLayer->autorelease();2)自动内存管理的实现自动内存管理的实现原理大概是:用户设置自动释放功能时,内存管理(CCPoolManager)会自动把这个CCObject对象加入其管理池中。等到 阅读全文
posted @ 2012-11-08 17:53 居家懒人 阅读(669) 评论(0) 推荐(0)
摘要:加入写了新场景SecondScene,结果在cpp文件里类名地方报错说undefined reference to `vtable for SecondScene',很简单,貌似是每个新场景都要先注册一下,找到jni-->Classes目录下的Android.mk文件,在LOCAL_SRC_FILES := AppDelegate.cpp \ HelloWorldScene.cpp下面加入新创建的场景即可:LOCAL_SRC_FILES := AppDelegate.cpp \ HelloWorldScene.cpp \ ... 阅读全文
posted @ 2012-09-17 01:39 居家懒人 阅读(3571) 评论(0) 推荐(0)