Cocos2d-x飞机大战教程笔记
咳咳~跟着大神的教程学做Cocos2d-x的飞机大战...鉴于我是那种跟着教程都会出非常多错的人,所以还是一路跟着做些笔记比較好。并且因为是用课余时间,所以仅仅能断断续续地做,写下来也好让自己别忘记~
2014/4/22 Day01
从apk解压获取素材。再用TexturePacker拼接成plist和png。
话说TexturePacker是收费的啊...7天免费,还能够申请1年的使用期。
之前看书还看到有个神器叫zwoptex,貌似是免费的。可惜仅仅有Mac版...╮(╯_╰)╭However。这次用到它仅仅是1分钟的功夫...以后的事就慢慢考虑吧。嗯,还有就是,plist和png都是放在project的Resources文件夹下的,写代码获取文件的时候写文件名称就能够了。
假设放在Resources文件夹的子文件夹下,就把子文件夹名加上去就OK。(这句说给自己听的)记得用斜杠“/”不是反斜杠"\"...(via http://blog.csdn.net/jackystudio/article/details/11650413 )
然后创建GameScene.h、GameScene.cpp、GameLayer.h、GameLayer.cpp。
载入背景滚动图的时候。报了这种错:
①error C2440: “=”: 无法从“cocos2d::CCLayer *”转换为“GameLayer *”
从基类型到派生类型的强制转换须要 dynamic_cast 或 static_cast
②fatal error C1083: 无法打开包含文件:“GameScene.h”: No such file or directory
大神说将GameLayer加到GameScene里面,然后以后的PlaneLayer、EnemyLayer、BulletLayer之类的都加到GameLayer上。
尽管书上也有说Layer之间能够相互调用,但我认为我还是比較想把之后的Layer都加到GameScene里面。
所以对于PlaneLayer对象。我还是在GameScene的init()里面调用create()创建而且addChild()。(via http://blog.csdn.net/jackystudio/article/details/11713197 )
显示飞机的这一步。报了个链接错误:
④error LNK2001: 无法解析的外部符号 "public: static class PlaneLayer * PlaneLayer::sharedPlane" (?sharedPlane@PlaneLayer@@2PAV1@A)
....Plane.exe : fatal error LNK1120: 1 个无法解析的外部命令
果断google...(基础没打好什么都要google的人真悲哀。)static变量的定义应该是这种:
<数据类型><类名>::<静态数据成员名>=<值>(via
http://hi.baidu.com/albert02/item/8ac9464992e5ce0ac11613b5 )
我写的是这种:PlaneLayer* sharedPlane = NULL; ....改成PlaneLayer*
PlaneLayer::sharedPlane = NULL; 之后不报错了。飞机也出现了,闪了闪之后尾巴一直在喷火\(^o^)/背景也在滚。所以还是能够在GameScene里面创建PlaneLayer的~(事实上本来就能够..)好。明天继续。
Cocos2d-x飞机大战教程笔记的更多相关文章
- python(pygame)滑稽大战(类似飞机大战) 教程
成品已录制视频投稿B站(本文目前实现了基础的游戏功能),点击观看项目稽忽悠不(github)地址:https://github.com/BigShuang/From-simple-to-Huaji 本 ...
- Cocos2d-x 3.0final 终结者系列教程16-《微信飞机大战》实现
看到cocos2d-x推出了3.1版本号,真是每月一次新版本号,速度. 另一个好消息就是http://cn.cocos2d-x.org/上线了,祝贺!啥时候把我的视频和教程放上去呢?!! . 视频下载 ...
- [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第1讲(实现思路与游戏界面的实现)
整体效果展示: 一.实现思路 如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图. 游戏界面的完成 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现.在此时,英雄飞机能 ...
- 小甲鱼python基础教程飞机大战源码及素材
百度了半天小甲鱼python飞机大战的源码和素材,搜出一堆不知道是什么玩意儿的玩意儿. 最终还是自己对着视频一行行代码敲出来. 需要的同学点下面的链接自取. 下载
- cocos2dx实现经典飞机大战
游戏开始层 #ifndef __LayerGameStart_H__ #define __LayerGameStart_H__ #include "cocos2d.h" USING ...
- 【一】仿微信飞机大战cocos2d-x3.0rc1
參考 [偶尔e网事] 的 [cocos2d-x入门实战]微信飞机大战 cocos2dx 2.0版本号,偶尔e网事他写的很具体,面面俱到,大家很有必要看下.能够通过以下链接跳转: cocos2d-x入 ...
- 微信5.0 Android版飞机大战破解无敌模式手记
微信5.0 Android版飞机大战破解无敌模式手记 转载: http://www.blogjava.net/zh-weir/archive/2013/08/14/402821.html 微信5.0 ...
- 基于Cocos2d-x-1.0.1的飞机大战游戏开发实例(上)
最近接触过几个版本的cocos2dx,决定每个大变动的版本都尝试一下.本实例模仿微信5.0版本中的飞机大战游戏,如图: 一.工具 1.素材:飞机大战的素材(图片.声音等)来自于网络 2.引擎:coco ...
- 500行代码,教你用python写个微信飞机大战
这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手. 帮助蹲厕族.YP族.饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右 ...
随机推荐
- python框架之Flask基础篇(三)-------- 模版的操作
1.flask特有的变量和函数: 变量:g.session.request.config 函数:url_for().get_flashed_messages()这个函数注意了啊,记住这是个函数,别忘了 ...
- iOS keychain入门
学了很久的iOS,一直都是明文保存用户名和密码在本地,手机一般都是自己用的,而且非越狱手机东西也不怎么能拿到数据,所以也就没在乎那么多,当然,这是不科学的.悄悄的说,这块一直不是我写的~~~ 用户隐私 ...
- html5——背景
背景大小 background-size: % %;//宽 高 background-size: 100px 100px;//宽 高 background-size: cover;//覆盖,图片会完全 ...
- JS——绑定自定义属性
1.绑定自定义属性: (1)元素节点.属性或元素节点[属性]绑定的属性不会出现在标签中,setAttribute可以出现在标签中. (2)setAttribute获取不到元素节点.属性形式绑定的属性值 ...
- C#——接口的意义以及与抽象类的区别
接口的意义是什么呢?接口与抽象类又有什么区别?什么情况选择用接口?什么情况选择用抽象类? 接口的意义: 1.实际开发中的约束作用,继承接口的类必须实现接口规定的方法,方便多人开发中的协同,避免随意性. ...
- Python语言之类
1.一个空类 #Filename : emptyclass.py class Empty: pass e = Empty() print( e ) #<__main__.Empty object ...
- Centos7搭建lamp环境
首先安装apache Centos7默认已经安装httpd服务,只是没有启动. 如果需要重新安装,输入 yum install -y httpd 启动服务: systemctl start httpd ...
- pycuda installation error: command 'gcc' failed with exit status 1
原文:python采坑之路 Setup script exited with error: command 'gcc' failed with exit status 1 伴随出现"cuda ...
- sublime之markdown快捷键
目录 sublime 快捷键 markdown技能 sublime 快捷键 ctrl + shift + p 进入命令面板 package install 进入下载仓库 ctrl + alt + O ...
- linux设置crontab定时执行脚本备份mysql
前言:mysqldump备份数据库命令 mysqldump -u root -psztx@2018 fengliuxiaosan > /dbbackup/fengliuxiaosan.sql## ...