cocos2d-x坑的集合
来源:互联网 发布:无法更改mac地址 编辑:程序博客网 时间:2024/06/03 00:18
坑1:
如果提示找不到"extensions/ExtensionExport.h",那么请在附加包含目录里加上$(EngineRoot)路径。
坑2:
新版本的Scale9Sprite在cocos2d::ui里面。
坑3:
cocos2d-x的缓存机制:原帖地址:http://blog.csdn.net/natsu1211/article/details/27092903
坑4:
cocos2d-x的触摸机制:原帖地址:http://www.tuicool.com/articles/Rjim6zhttp://blog.csdn.net/tom_and_jerry_zhao/article/details/51140561
//添加触摸响应 auto listener1 = cocos2d::EventListenerTouchOneByOne::create(); listener1->setSwallowTouches(true); //不向下传递触摸 listener1->onTouchBegan = [&](cocos2d::Touch* touch, cocos2d::Event* evt)->bool { if (_curState == Button::ButtonState::ButtonState_Disable) return false; auto target = evt->getCurrentTarget();//获取目前的点击对象 //获取点击的坐标在target的坐标系中的位置 cocos2d::Vec2 locationInNode = target->convertToNodeSpace(touch->getLocation()); cocos2d::Size targetSize = target->getContentSize(); cocos2d::Rect rct = { 0,0,targetSize.width,targetSize.height }; bool isClicked = rct.containsPoint(locationInNode); if (isClicked) { if (_curState == Button::ButtonState::ButtonState_Up) { this->setButtonState(Button::ButtonState::ButtonState_Down); this->onButtonPressed(); } return true; } return false;//这里返回false那么后面的onTouchMoved,onTouchEnded就不会被调用了 }; listener1->onTouchEnded = [&](cocos2d::Touch* touch, cocos2d::Event* evt)->void { auto target = evt->getCurrentTarget();//获取目前的点击对象 //获取点击的坐标在target的坐标系中的位置 cocos2d::Vec2 locationInNode = target->convertToNodeSpace(touch->getLocation()); cocos2d::Size targetSize = target->getContentSize(); cocos2d::Rect rct = { 0,0,targetSize.width,targetSize.height }; bool isInRegion = rct.containsPoint(locationInNode); if (isInRegion) { if (_curState == Button::ButtonState::ButtonState_Down) { this->setButtonState(ButtonState::ButtonState_Up); this->onButtonReleased(); } } }; listener1->onTouchMoved = [&](cocos2d::Touch* touch, cocos2d::Event* evt)->void { auto target = evt->getCurrentTarget();//获取目前的点击对象 //获取点击的坐标在target的坐标系中的位置 cocos2d::Vec2 locationInNode = target->convertToNodeSpace(touch->getLocation()); cocos2d::Size targetSize = target->getContentSize(); cocos2d::Rect rct = { 0,0,targetSize.width,targetSize.height }; bool isInRegion = rct.containsPoint(locationInNode); if (!isInRegion) { if (_curState == Button::ButtonState::ButtonState_Down) { this->setButtonState(ButtonState::ButtonState_Up); this->onButtonMoveOutsideRange(); } } }; //添加按键响应 cocos2d::Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener1, _upSprite);
别忘了在onExit里面把这个不用的listener1注销掉,否则会报错
void Button::onExit(){ //在exit之前,得释放一些不用的资源 cocos2d::Director::getInstance()->getEventDispatcher()->removeEventListenersForTarget(_upSprite); UIObject::onExit();}
cocos2d-x打包android包命令
进入proj.android目录
运行cocos compile -p android
在cocos2d-x c++项目中集成lua
1.首先去lua的官网下载lua源码
2.将源码解压出来放入我们的项目Classes目录里面
3.修改adnroid.mk文件
4.运行cocos compile -p android
期间可能会遇到llex.c文件中出错,照下面这样改即可:
当然,这样处理比较暴力,如果有更好的办法,请告知在下。这样修改之后,应该就能正确的打包了。但是打出来的包运行时候黑屏了,我的天哪,待我找找办法。
有些文件在android平台上找不到
请使用cocos2d::FileUtils::fullPathForFilename(filename),一次性解决所有烦恼。
0 0
- cocos2d-x坑的集合
- cocos2d -x 精灵集合CCSpriteBatchNode的使用
- cocos2d-x大神们的博客集合
- cocos2d-x大神们的博客集合
- cocos2d-x大神们的博客集合
- cocos2d-x 资源集合
- cocos2d-x 特效集合
- cocos2d-x的坑
- cocos2d-x 动画特效集合
- CocoStudio ------ 基于Cocos2d-X的移动游戏开发工具集合
- cocos2d-x action动作整理集合
- cocos2d-x action动作整理集合
- cocos2d-x windows 编程 中小错误集合
- cocos2d-x action动作整理集合
- cocos2d-x 游戏开发,常用工具集合
- cocos2d-x action动作整理集合 .
- cocos2d-x action动作整理集合
- cocos2d-x action动作整理集合
- 哈理工OJ 1394 XianGe的游戏I(水题么?)
- 从上往下打印二叉树
- mac上用终端启动和关闭mysql服务
- Redis 源码阅读笔记1:zmalloc
- 关于canvas 画布
- cocos2d-x坑的集合
- leetcode 461 hammingDistance
- mysql7.x单独安装mysql
- [技术] crm分页列表显示. {word笔记转html复制}
- 连续第一百零五天
- Shiro安全框架入门篇(登录验证实例详解与源码)
- DP (入门题)数塔
- Mysql的模糊查询
- PS 清晰度和对比度滤镜 Topaz Clarity v1.1.0 Windows 中文汉化版