Cocos2dx游戏开发系列笔记8:开搞一个射击游戏《战神传说》//就个打飞机的
2019独角兽企业重金招聘Python工程师标准>>>
又是一个愉快的夜晚
还是那张长长的工作桌
哲哲在左边做一个香云纱手包
骨头在这里噼里啪啦的解刨
pad里放着《赢在中国》
桌子中间各种饮料、奶、水果...
进击吧~骨头~
首先感谢Android技术开发群(93367423)的SW同学提供的例子:战神传说
其实就是个打飞机的游戏
开始导入
1 新建项目,使用create_project.py建立一个空项目
2 将源码文件夹里的.cpp和.h还有资源文件拷贝到新建的项目中
3 用vs2012打开新建的项目
4 添加现有项,把cpp和h文件添加到classes里
一运行,好多错,额,尝试着改改
- 1>------ 已启动生成: 项目: MoonWarriors, 配置: Debug Win32 ------
- 1> Bullet.cpp
- 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.h(31): error C2259: “Bullet”: 不能实例化抽象类
- 1> 由于下列成员:
- 1> “void UnitSprite::hurt(void)”: 是抽象的
- 1> d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\unitsprite.h(21) : 参见“UnitSprite::hurt”的声明
- 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(6): error C2600: “Bullet::Bullet”: 不能定义编译器生成的特殊成员函数(必须首先在类中声明)
- 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(12): error C2511: “Bullet::Bullet(int,const char *,int)”:“Bullet”中没有找到重载的成员函数
- 1> d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.h(8) : 参见“Bullet”的声明
- 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(46): error C2511: “void Bullet::hurt(void)”:“Bullet”中没有找到重载的成员函数
- 1> d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.h(8) : 参见“Bullet”的声明
- 1>d:\java\cocos2d-x-2.2\projects\moonwarriors\classes\bullet.cpp(67): warning C4305: “参数”: 从“double”到“float”截断
- 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:开搞一个射击游戏《战神传说》//就个打飞机的相关推荐
- unity2d游戏开发系列教程:四、一个2D游戏所需要的主要功能(游戏框架)
目录 unity2d游戏开发系列教程:一.环境安装 unity2d游戏开发系列教程:二.新建工程并熟悉Unity编辑器常用功能 unity2d游戏开发系列教程:三.场景布置,增加怪物和机关 原文下载 ...
- Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上
2019独角兽企业重金招聘Python工程师标准>>> 感谢听D同学赞助的Demo. 那怎样让它运行在vs中呢: 1 使用cocos2d-x-2.2\tools\project-cr ...
- Cocos2dx游戏开发系列笔记3:牛刀小试-忍者飞镖射幽灵的Demo
2019独角兽企业重金招聘Python工程师标准>>> 就是这个例子,应该很简单,主要用到的有:精灵的移动,触摸,碰撞检测. 赶紧搞定,待会还要陪哲哲来几局爱消除. 首先在Scene ...
- Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》
2019独角兽企业重金招聘Python工程师标准>>> 周末了,哲哲在旁边看<爸爸去哪>,骨头继续玩cocos2dx, 首先,如果你新加了CPP和H文件,记得修改项目目录 ...
- Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》(VS2013快捷键)
懒骨头(http://blog.csdn.net/iamlazybone QQ124774397 青岛 ) 周末了,哲哲在旁边看<爸爸去哪>,骨头继续玩cocos2dx, 源码下载 ht ...
- Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)
懒骨头(http://blog.csdn.net/iamlazybone QQ124774397 青岛 ) 或许有天 我们羡慕和崇拜的人 因为我们的努力 也会来了解我们 说不定 还会成为好友 骨头喜 ...
- Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)...
2019独角兽企业重金招聘Python工程师标准>>> 或许有天 我们羡慕和崇拜的人 因为我们的努力 也会来了解我们 说不定 还会成为好友 骨头喜欢这样与哲哲共勉 多少个夜晚 一张长 ...
- Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应问题
转载:http://blog.csdn.net/iamlazybone/article/details/17191539 懒骨头(http://blog.csdn.net/iamlazybone Q ...
- Cocos2dx游戏开发系列笔记10:解刨《战神传说》
2019独角兽企业重金招聘Python工程师标准>>> 有点困了,从桌子换到床上,刚要开敲,豆瓣电台传来的传来奇怪的歌声"马的-马的-" 看看歌词,应该是&quo ...
最新文章
- ajax传递数组 php,jQuery.ajax向后台传递数组问题如何解决
- VMware虚拟机提示“以独占方式锁定此配置文件失败”解决方案
- 操作系统(八)进程管理——进程同步
- sed 分隔符打印_字符截取:cut,格式化输出:printf,字符截取:awk,文件或命令输出编辑:sed...
- visual studio开发工具的C#主流控件属性一览表
- SQL Server的历史– SQL Server功能的演变
- Hive中时间格式的转换
- 关于Excel中,下拉菜单的制作。
- fit文件用python画瀑布图
- ie浏览器修复_微软IE浏览器曝零日漏洞:一个老文件格式,可致系统文件遭窃...
- php跨域问题,PHP跨域问题解决方案
- HMC510LP5ETR资料
- 百度AI接口测试案列一:车牌识别
- Service的工作过程
- 《暗黑破坏神》经典爆笑小说
- OSChina 周六乱弹 —— 网恋有风险面基需谨慎
- 【Multisim仿真】运放电路:反相比例运算电路
- 基于verilog实现的VGA
- 陕西美食羊肉泡馍,舌尖上的美感
- 总算 明白了晾衣杆的原理
热门文章
- 遍历字典时用与不用iter的区别
- DOS下文件操作命令
- fedora学习笔记 6:浅谈linux文件系统
- Android Lint 检查规则的定制(基本篇)
- net core 2 读取appsettings.json
- 深入动态人脸识别小场景应用,2019年或将迎来爆发期
- Google+ 关闭引大V不满:700万粉丝“说没就没”
- springBoot入门第一章springBoot第一个程序
- a(n+1) = f[a(n)] 型递推数列的迭代作图(玩计算器玩出了问题)
- An internal error occurred during: Android Library Update.