以下资料全部转载:
官方文档
★ cocos2d-x文档 - 开发者文档 http://cn.cocos2d-x.org/article/
安装环境
★ Cocos2d-x v2.2.2版本+Win7+VS2010环境搭建
Cocos2d-x v2.2.1安装类似,xp也可以。
★ cocos2dx基础篇(1)——Cocos2D-X 和 VS2010 环境配置
安装Cocos2d-x v2.2.3
★ cocos2dx基础篇(3)——第一个程序HelloWorld
对原理和部分函数做了讲解,很不错。
问题:
1,编译时出现:转换到 COFF 期间失败: 文件无效或损坏。
不用管cvtres.exe,只需在项目中配置下就ok。项目-属性-配置属性-链接器-清单文件-生成清单,改成“否”即可。
编译apk在模拟器上运行
★ cocos2dx基础篇(2)——Win32移植到Android
我安装了adt集成环境(adt-bundle-windows-x86-20130917.467161976.rar)和ndk(android-ndk-r9d-windows-x86.zip),按照"win32移植到Android"配置,最后右键项目->"Run As"->"Android Application",可产生apk文件,并能在模拟器上运行。
其他注意的问题:
1,导入时不要勾选"Copy projects into workspace",否则fatal error: AppDelegate.h: No such file or directory
2,创建模拟器是请勾选"Use Host GPU",否则java.lang.IllegalArgumentException: No configs match configSpec,
http://www.jb51.cc/article/p-bgsrbzki-qo.html
3,emulator: ERROR: Could not load OpenGLES emulation library: Could not load DLL!
拷贝以下文件从SDK\tools\lib到SDK\tools
libEGL_translator.dll
libGLES_CM_translator.dll
libGLES_V2_translator.dll
libOpenglRender.dll
详细http://www.cnblogs.com/ericfine/archive/2012/09/03/2668388.html
4,ndk-build.cmd,系统找不到指定的路径。文件明明存在却找不到,是32/64位导致。
5,虽然还是出现安装失败,Failed to install test.apk on device 'emulator-5554!,但test能够正常运行
cocos2d-x学习资料
★ [cocos2d-x] --- 完美解决中文乱码 - - 博客频道 - CSDN.NET
★【Cocos2d-x游戏引擎开发笔记(2)】在屏幕上渲染文字
使用转码方式解决中文乱码问题;设置文字随机颜色;几种字体效果
使用编码转码在eclipse上编译不通过,最后将源码文件保存成utf8解决
shahdza的cocos资料合集
详细分析保卫萝卜中的逻辑及实现细节
使用schedule(schedule_selector(HelloWorld::gameLogic),1.0);实现精灵的移动,每隔1.0秒调用一次gameLogic(float)。
根据上面2篇实现鼠标点击/触摸,ccTouchesBegan鼠标按下触发,我获取到的鼠标位置是随机值,不可用,所以我用了ccTouchesEnded(鼠标抬起)。
@L_502_24@
简单示例,精灵永久翻转:pSprite->runAction(CCRepeatForever::create(CCOrbitCamera::create(0.5f,2.0f,0.0f,360.0f,0.0f)));
旋转:90度顺时1/4圈,180度顺时半圈,270度逆时1/4,360度不旋转。要想永久旋转用720度试试。
各种基本特效及示例代码,适合入门
场景切换及切换时的效果,注意在2.x中使用需在类前加CC,如CCTransitionSlideInR。
文章从缓存和批次渲染2个方面对精灵做了优化
★ cocos2d-x 中,如何让runAction函数执行完后才返回
使用CCSequence,而isDone()似乎没反应。
使用示例:
// 精灵按轨迹移动,移动完成后执行MoveCallFunc。如果在while中执行runAction,效果不好。 CCArray *arr = CCArray::create(); int tmpx,tmpy; while (map_->GetShortestPathPoint(&tmpx,&tmpy)) { CCMoveTo *move = CCMoveTo::create(0.1f,ccp(tmpx * size_,tmpy * size_)); arr->addObject(move); } CCSequence *seq = CCSequence::create(arr); CCSequence *s = CCSequence::create(seq,CCCallFunc::create(this,callfunc_selector(GameScene::MoveCallFunc)),NULL); sprite->runAction(s);
简单示例:
#include "SimpleAudioEngine.h" using namespace CocosDenshion; SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(""); // 预加载Resources目录 SimpleAudioEngine::sharedEngine()->playBackgroundMusic("bg.mp3"); // 播放在析构函数中加SimpleAudioEngine::sharedEngine()->end(); //释放声音资源,否则退出时有错误发生