咳咳~跟着大神的教程学做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

      一開始还真的跟着提示加了个dynamic_cast...结果没实用。上网查了才知道,原来是这样解决的....
      project属性->配置属性->C/C++->常规->附加包括文件夹,把报错类的文件夹加进去。在这里加的就是$(ProjectDir)和$(ProjectDir)inc。依据宏定义。$(ProjectDir)就是project下的proj.win32文件夹,额,inc据说是子文件夹。并且我试了下,两个都是要加的,仅仅加当中一个还不让编译通过...(via http://www.cnblogs.com/txg-blog/archive/2011/03/07/1974857.html )
      按上述步骤设置之后,①②都没有了,可是!又报了这种错:
      ③fatal error C1083: 无法打开包含文件:“AppDelegate.h”: No such file or directory
      好吧看了下。这个AppDelegate.h是Classes文件夹下的,所以加进去的是$(ProjectDir)..\Classes。
      最终不报错了。但是。说好的滚动背景呢!为什么仅仅有黑乎乎的屏幕...再看了看教程里面的演示样例代码。发现自己的GameScene.h写少了这样一个东西:
      CREATE_FUNC(GameScene); 是调用create()函数的宏。嗯。GameLayer.h里也要写一个 CREATE_FUNC(GameLayer); 好。背景最终滚出来了。没有教程评论里说的黑边...窃喜~

大神说将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飞机大战教程笔记的更多相关文章

  1. python(pygame)滑稽大战(类似飞机大战) 教程

    成品已录制视频投稿B站(本文目前实现了基础的游戏功能),点击观看项目稽忽悠不(github)地址:https://github.com/BigShuang/From-simple-to-Huaji 本 ...

  2. Cocos2d-x 3.0final 终结者系列教程16-《微信飞机大战》实现

    看到cocos2d-x推出了3.1版本号,真是每月一次新版本号,速度. 另一个好消息就是http://cn.cocos2d-x.org/上线了,祝贺!啥时候把我的视频和教程放上去呢?!! . 视频下载 ...

  3. [知了堂学习笔记]_纯JS制作《飞机大战》游戏_第1讲(实现思路与游戏界面的实现)

    整体效果展示: 一.实现思路 如图,这是我完成该项目的一个逻辑图,也是一个功能模块完成的顺序图. 游戏界面的完成 英雄飞机对象实现,在实现发射子弹方法过程中,又引出了子弹对象并实现.在此时,英雄飞机能 ...

  4. 小甲鱼python基础教程飞机大战源码及素材

    百度了半天小甲鱼python飞机大战的源码和素材,搜出一堆不知道是什么玩意儿的玩意儿. 最终还是自己对着视频一行行代码敲出来. 需要的同学点下面的链接自取. 下载

  5. cocos2dx实现经典飞机大战

    游戏开始层 #ifndef __LayerGameStart_H__ #define __LayerGameStart_H__ #include "cocos2d.h" USING ...

  6. 【一】仿微信飞机大战cocos2d-x3.0rc1

    參考 [偶尔e网事] 的 [cocos2d-x入门实战]微信飞机大战  cocos2dx 2.0版本号,偶尔e网事他写的很具体,面面俱到,大家很有必要看下.能够通过以下链接跳转: cocos2d-x入 ...

  7. 微信5.0 Android版飞机大战破解无敌模式手记

    微信5.0 Android版飞机大战破解无敌模式手记 转载: http://www.blogjava.net/zh-weir/archive/2013/08/14/402821.html 微信5.0 ...

  8. 基于Cocos2d-x-1.0.1的飞机大战游戏开发实例(上)

    最近接触过几个版本的cocos2dx,决定每个大变动的版本都尝试一下.本实例模仿微信5.0版本中的飞机大战游戏,如图: 一.工具 1.素材:飞机大战的素材(图片.声音等)来自于网络 2.引擎:coco ...

  9. 500行代码,教你用python写个微信飞机大战

    这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手. 帮助蹲厕族.YP族.饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右 ...

随机推荐

  1. 332 Reconstruct Itinerary 重建行程单

    Given a list of airline tickets represented by pairs of departure and arrival airports [from, to], r ...

  2. debug时红点消失

    问题描述:debug时红色断点和黄色小箭头不见,而用行代码高亮的形式时. 解决办法:可以用设置 工具 => 选项 => 文本编辑器 => 指示器边距 勾上选项

  3. C#学习-执行存储过程

    使用存储的优点 1.执行更快.直接写sql脚本会有个解析编译的过程. 2.修改方便.当业务改变时,只需要改存储过程,不需要修改C#代码 3.传递Sql脚本数据相对更小 缺点: 1.使用存储过程,数据库 ...

  4. [ AHOI 2008 ] Meet

    \(\\\) \(Description\) 一棵\(N\)个节点的树,每条边权都为\(1\). \(M\)组询问,每次给出三个点\(A_i,B_i,C_i\),求从三个点分别出发,移动到同一个点的路 ...

  5. node的api

    一. 1.url: 绝对URI http://user:pass@www.example.com:80/dir/index.html?uid=1#ch1 协议 登录信息 服务器地址 端口 文件路径 查 ...

  6. C#入门经典 Chapter3 变量和表达式

    3.1 C#基本语法 分号结束语句 花括号字符不需要附带分号 缩进     注释:/*....*/,//,/// 区分大小写 3.2 C#控制台应用程序的基本结构 namespace Chapter3 ...

  7. (转)Hadoop入门进阶课程

    http://blog.csdn.net/yirenboy/article/details/46800855 1.Hadoop介绍 1.1Hadoop简介 Apache Hadoop软件库是一个框架, ...

  8. img图片加载出错处理

    img图片加载出错处理   为了美观当网页图片不存在时不显示叉叉图片 当在页面显示的时候,万一图片被移动了位置或者丢失的话,将会在页面显示一个带X的图片,很是影响用户的体验.即使使用alt属性给出了” ...

  9. SpringMVC注解配置处理器映射器和处理器适配器

    一.springmvc.xml中配置方式 <!--注解映射器 --> <bean class="org.springframework.web.servlet.mvc.me ...

  10. iptables详解(2):iptables实际操作之规则查询

    所属分类:IPtables  Linux基础 在阅读这篇文章之前,请确保你已经阅读了如下文章,如下文章总结了iptables的相关概念,是阅读这篇文章的基础. 图文并茂理解iptables 如果你是一 ...