视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
cocos2dx项目中新增场景类
2020-11-09 15:28:52 责编:小采
文档

从0开始创建一个cocos2dx项目然后运行是可以的,但是如果我们要自己来创建属于自己的场景类呢? 理论永远只是停留在理论,实践过后才知道问题并不是那么简单: 初步尝试: 1.在项目工程中的classes文件夹中右击-添加-新建项--,然后开始写类代码; 2.在逻辑类

从0开始创建一个cocos2dx项目然后运行是可以的,但是如果我们要自己来创建属于自己的场景类呢?
理论永远只是停留在理论,实践过后才知道问题并不是那么简单:
初步尝试:
1.在项目工程中的classes文件夹中右击-添加-新建项--,然后开始写类代码;
2.在逻辑类中引用的时候就出问题了,就是#include"LoadingLayer.h",会提示找不到?
3.经过跟网络高手聊过之后才知道,默认创建的类路径实在sln默认路径下,而vs的项目却不能简单的include;
解决方法:
A.类路径有问题,可以手动设置下include path;
B.把新添加的默认sln目录下的源码文件手动拷贝到相应项目的Classes下(include默认引用目录);
last,.将vs工程中的新添加代码文件删掉,再重新add进来,恢复正常。
进入图解模式:
1.导入时出错提示

2.查看新增文件的路径(在cocos的默认路径--sln路径--非CLasses路径)


3.手动将新增源码文件copy到相应项目工程的Classes路径


4.工程中先把源文件删掉,再右击Classes-add-现有项-找到Classes路径--添加新增文件


5.回头查看引用新增文件的地方,路径有效,无错误提示


cocos2dx正式开搞了呵、


编译过程问题复现:
1.win32可以正常编译显示,交叉编译不行:
提示 error: undefined reference to 'LoadingLayer::scenc e()'
意思就是说交叉编译的时候没有引用到这个类;
那么我们要进入到android工程中的Android.mk文件看下究竟:在LOCAL_SRC_FILES后面添加一行
../../Classes/LoadingLayer.cpp 记得在上一行后面加上反斜杠---->" \"
再次进入到cygwin中,找到相应Android目录,赋予权限,然后再./build_native.sh;
http://stackoverflow.com/questions/12125248/trying-to-switch-scenes-in-cocos2d-x-undefined-reference-to-diffmenuscene
2.当一切就绪,.so已经生成的前提下,在eclipse控制台中编译会出现如下错误提示:
Unable to add 'D:\series_cocos2d-x\cocos2d-x-2.2.1\cocos2d-x-2.2.1\projects\LoveHong\proj.android\assets\CloseNormal.png': Zip add failed
ERROR: unable to process assets while packaging 'D:\series_cocos2d-x\cocos2d-x-2.2.1\cocos2d-x-2.2.1\projects\LoveHong\proj.android\bin\resources.ap_'
[2014-04-23 13:04:12 - LoveHong] ERROR: packaging of 'D:\series_cocos2d-x\cocos2d-x-2.2.1\cocos2d-x-2.2.1\projects\LoveHong\proj.android\bin\resources.ap_' failed

如果出现上述错误,这样解决:
在cygwin窗口中,cd assets ; chmod -R 777 * 【备用招数cd ..; ./build_native.sh】
刷新eclipse中要编译的工程;【如果出现问题,以上步骤多试几次】
3.跑在真机上没啥问题,在模拟器中会有如下错误提示:
.......: No configs match configSpec
...
Emulator without GPU emulation detected.
说明开启的模拟器没有开启GPU支持----打开模拟器管理界面--选中自己要启动的模拟器--edit--choose Use Host GPU
如果你是用genymotion来作为模拟器,需要安装一个插件Genymotion-ARM-Translation;(自行检索)
因为geny是x86架构,非ARM架构,所以跑起来飞快;那么要安装一个能够转换成ARM架构的插件才可以完美运行;

下载本文
显示全文
专题