2019独角兽企业重金招聘Python工程师标准>>>

又是一个愉快的夜晚

还是那张长长的工作桌

哲哲在左边做一个香云纱手包

骨头在这里噼里啪啦的解刨

pad里放着《赢在中国》

桌子中间各种饮料、奶、水果...

进击吧~骨头~

首先感谢Android技术开发群(93367423)的SW同学提供的例子:战神传说

其实就是个打飞机的游戏

开始导入

1 新建项目,使用create_project.py建立一个空项目

2 将源码文件夹里的.cpp和.h还有资源文件拷贝到新建的项目中

3 用vs2012打开新建的项目

4 添加现有项,把cpp和h文件添加到classes里

一运行,好多错,额,尝试着改改

[html]  view plain copy
  1. 1>------ 已启动生成: 项目: MoonWarriors, 配置: Debug Win32 ------
  2. 1>  Bullet.cpp
  3. 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.h(31): error C2259: “Bullet”: 不能实例化抽象类
  4. 1>          由于下列成员:
  5. 1>          “void UnitSprite::hurt(void)”: 是抽象的
  6. 1>          d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\unitsprite.h(21) : 参见“UnitSprite::hurt”的声明
  7. 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(6): error C2600: “Bullet::Bullet”: 不能定义编译器生成的特殊成员函数(必须首先在类中声明)
  8. 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(12): error C2511: “Bullet::Bullet(int,const char *,int)”:“Bullet”中没有找到重载的成员函数
  9. 1>          d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.h(8) : 参见“Bullet”的声明
  10. 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(46): error C2511: “void Bullet::hurt(void)”:“Bullet”中没有找到重载的成员函数
  11. 1>          d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.h(8) : 参见“Bullet”的声明
  12. 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(67): warning C4305: “参数”: 从“double”到“float”截断
  13. 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(68): warning C4305: “参数”: 从“double”到“float”截断

骨头不懂C++,尝试着解决下。

首先看这段错误信息:

Bullet.cpp类中,不能实例化

它的父类有几个虚函数,但在Bullet.h文件中,似乎没找到这某个虚函数的定义,好吧,把UnitSprite.h

“Bullet::Bullet”: 不能定义编译器生成的特殊成员函数(必须首先在类中声明)

我们在对应的cpp文件中,添加所有的构造函数:

Bullet();
Bullet(int speed, const char *weapon, int attactMode);

ok,再次运行,看到helloworld窗口了。

可为啥不是游戏界面呢,再改改。。。

AppDelegate.cpp类bool AppDelegate::applicationDidFinishLaunching() 方法中,

实例化CCScene方法改为:CCScene *pScene = StartMenu::scene();

并且加入头文件#include "StartMenu.h"

再次运行 OK!

额,看来需要改成竖屏的。

找到win32包下的main.cpp文件,

把19行的 eglView->setFrameSize(480, 320);

改为 eglView->setFrameSize(320, 480);

这次是完全OK了。

游戏截图如上,看起来还怎不错,一个demo做的还比较用心。

不知能否顺利的跑在手机上,走着。

1 首先拷贝资源文件到android系统的assets文件夹下。


2 然后打开android.mk文件,把所有的cpp文件加进去。


3 管理员权限打开cmd,cd到所在目录下,分别使用下面两个命令,修改目录权限

takeown /f * /A /R

icacls * /t /grant:r everyone:f

4 打开cygwin,定位到D:/Java/cocos2d-x-2.2/projects/LuoLiRun/proj.android 你的android目录文件夹下,运行./build_native.sh命令 

cygwin报错如下:

jni/Android.mk:12: *** 遗漏分隔符 。 停止。

分隔符,难道是Android.mk格式有问题?

很有可能,于是骨头打开Android.mk文件,仔细检查了下,果然,第三行最后少了 反斜杠,最后多了个反斜杠,改之,再次运行

开始编译代码了,但运行到一半又停了,难报错是main.cpp相关。

难道是因为有两个main.cpp?我记得好像demo里有,然后脚本生成的代码里也有。删掉demo里的main.cpp,并且在Android.mk文件里也删掉。

猜对了!再次进行编译了......

几分钟之后,在cygwin里看到了so文件编译成功。

为了不打扰哲哲休息,骨头决定截稿,明天继续!

------------------- 飞船起飞--------------------

Cocos2dx游戏开发系列笔记10:解刨《战神传说》

Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应

Cocos2dx游戏开发系列笔记8:开搞一个射击游戏《战神传说》//就个打飞机的

Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)

Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上

Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》

Cocos2dx游戏开发系列笔记4:怎样新加一个Scene类?

Cocos2dx游戏开发系列笔记3:牛刀小试->忍者飞镖射幽灵的Demo

Cocos2dx游戏开发系列笔记2:一个刚创建的cocos2dx中的demo里都有什么

Cocos2dx游戏开发系列笔记1:一个崭新的开始,cocos2dx2.2+ndkr9+Cygwin

-------------------- 飞船降落--------------------

最后,骨头介绍一下陪在身边的哲哲(右边就是低调的哲哲)

哲哲,小名 YIYI ,手工爱好者,文艺范,手艺人,《YiYiの妙舍》创始人,很有自己想法。

转载于:https://my.oschina.net/kaiyuan/blog/182674

Cocos2dx游戏开发系列笔记8:开搞一个射击游戏《战神传说》//就个打飞机的相关推荐

  1. unity2d游戏开发系列教程:四、一个2D游戏所需要的主要功能(游戏框架)

    目录 unity2d游戏开发系列教程:一.环境安装 unity2d游戏开发系列教程:二.新建工程并熟悉Unity编辑器常用功能 unity2d游戏开发系列教程:三.场景布置,增加怪物和机关 原文下载 ...

  2. Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上

    2019独角兽企业重金招聘Python工程师标准>>> 感谢听D同学赞助的Demo. 那怎样让它运行在vs中呢: 1 使用cocos2d-x-2.2\tools\project-cr ...

  3. Cocos2dx游戏开发系列笔记3:牛刀小试-忍者飞镖射幽灵的Demo

    2019独角兽企业重金招聘Python工程师标准>>> 就是这个例子,应该很简单,主要用到的有:精灵的移动,触摸,碰撞检测. 赶紧搞定,待会还要陪哲哲来几局爱消除. 首先在Scene ...

  4. Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》

    2019独角兽企业重金招聘Python工程师标准>>> 周末了,哲哲在旁边看<爸爸去哪>,骨头继续玩cocos2dx, 首先,如果你新加了CPP和H文件,记得修改项目目录 ...

  5. Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》(VS2013快捷键)

    懒骨头(http://blog.csdn.net/iamlazybone  QQ124774397 青岛 ) 周末了,哲哲在旁边看<爸爸去哪>,骨头继续玩cocos2dx, 源码下载 ht ...

  6. Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)

    懒骨头(http://blog.csdn.net/iamlazybone  QQ124774397 青岛 ) 或许有天 我们羡慕和崇拜的人 因为我们的努力 也会来了解我们 说不定 还会成为好友 骨头喜 ...

  7. Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)...

    2019独角兽企业重金招聘Python工程师标准>>> 或许有天 我们羡慕和崇拜的人 因为我们的努力 也会来了解我们 说不定 还会成为好友 骨头喜欢这样与哲哲共勉 多少个夜晚 一张长 ...

  8. Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应问题

    转载:http://blog.csdn.net/iamlazybone/article/details/17191539 懒骨头(http://blog.csdn.net/iamlazybone  Q ...

  9. Cocos2dx游戏开发系列笔记10:解刨《战神传说》

    2019独角兽企业重金招聘Python工程师标准>>> 有点困了,从桌子换到床上,刚要开敲,豆瓣电台传来的传来奇怪的歌声"马的-马的-" 看看歌词,应该是&quo ...

最新文章

  1. ajax传递数组 php,jQuery.ajax向后台传递数组问题如何解决
  2. VMware虚拟机提示“以独占方式锁定此配置文件失败”解决方案
  3. 操作系统(八)进程管理——进程同步
  4. sed 分隔符打印_字符截取:cut,格式化输出:printf,字符截取:awk,文件或命令输出编辑:sed...
  5. visual studio开发工具的C#主流控件属性一览表
  6. SQL Server的历史– SQL Server功能的演变
  7. Hive中时间格式的转换
  8. 关于Excel中,下拉菜单的制作。
  9. fit文件用python画瀑布图
  10. ie浏览器修复_微软IE浏览器曝零日漏洞:一个老文件格式,可致系统文件遭窃...
  11. php跨域问题,PHP跨域问题解决方案
  12. HMC510LP5ETR资料
  13. 百度AI接口测试案列一:车牌识别
  14. Service的工作过程
  15. 《暗黑破坏神》经典爆笑小说
  16. OSChina 周六乱弹 —— 网恋有风险面基需谨慎
  17. 【Multisim仿真】运放电路:反相比例运算电路
  18. 基于verilog实现的VGA
  19. 陕西美食羊肉泡馍,舌尖上的美感
  20. 总算 明白了晾衣杆的原理

热门文章

  1. 遍历字典时用与不用iter的区别
  2. DOS下文件操作命令
  3. fedora学习笔记 6:浅谈linux文件系统
  4. Android Lint 检查规则的定制(基本篇)
  5. net core 2 读取appsettings.json
  6. 深入动态人脸识别小场景应用,2019年或将迎来爆发期
  7. Google+ 关闭引大V不满:700万粉丝“说没就没”
  8. springBoot入门第一章springBoot第一个程序
  9. a(n+1) = f[a(n)] 型递推数列的迭代作图(玩计算器玩出了问题)
  10. An internal error occurred during: Android Library Update.