下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

教你在Cocos2D-X中如何开发一个打地鼠游戏(上)

作者:课课家教育     来源: http://www.kokojia.com点击数:1253发布时间: 2019-03-29 15:09:29

标签: Cocos2D-X网游游戏开发Cocos2D-X游戏开发

  相信各位对于打地鼠这个大家耳熟能详的游戏都不陌生,想知道怎么用Cocos2d-x制作打地鼠游戏么?本篇教程将教你在Cocos2D-X中如何开发一个打地鼠游戏。

教你在Cocos2D-X中如何开发一个打地鼠游戏(上)_Cocos2D-X网游_游戏开发_Cocos2D-X游戏开发_课课家

  虽然cocos2d的入门教程也有打地鼠,但是本篇着重简单的学习实现,因为涉及了帧动画,所以使用了另外的地鼠图片资源,尽可能的在单一项目内学习一个知识点,不在一些繁琐的绕人地方浪费时间,所以你将看到非常直接的代码实现示例,本开发实例着重使用了如下cocos2d-x类:CCSprite、CCMenuItemSprite、CCScene

  建立工程

  首先现建立一个工程,从工程模板里可以找到“cocos2d-x”的分类,输入名字点击确认,我们在这里叫:Hit_Mole

  然后引用一下cocos2d-x for xna的4个dll:

  cocos2d-xna.dll : cocos2d-x for xna主类库

  cocos2d.Framework.dll : 内容管线使用的CCContent类,它会和Importers配合读取项目的plist文件

  ICSharpCode.SharpZipLib.dll

  zlib.net.dll

  注意Hit_MoleContent工程要引用内容管线dll:

  cocos2d.Content.Pipeline.Importers.dll

  编译运行一下确认无错误。

  建立基本游戏场景

  第一件事就是要准备好一套用于做此游戏的图片,并将他们添加到你的Hit_MoleContent工程中

  然后在你的工程中添加一个类,在这里多说一下,可以直接在模板中修改Helloworld类,不过模板生成的有点复杂,不利于说明,我为了简单明了直接新建一个类作为开始,这个类名暂叫:Scene1

  类的代码如下:

  

  然后打开appDelegate.cs找到applicationDidFinishLaunching()下的导演显示场景代码

  你会发现模板自动加了一个Helloworld(虽然名字不叫这个)的场景,而这个场景的代码在HelloWorldScene.cs之中,我们不需要它,直接换成咱们场景

  CCScene pscene = new Scene1();

  运行一下看看效果:

  一个基本的游戏场景出现了。

  制造老鼠

  鬼头的老鼠会按照一定的规则露头然后回去,在这里我们先实现被点击这个效果,在另外一篇里面着重看动画部分,所以我们先制造一个不是很聪明的老鼠,它只是傻傻露着头等敲打。

  在Cocos2d-x for xna里面有各种方式实现点击,其中CCMenuItem是用来做UI界面中的菜单选项,我认为它等同于其他引擎的Button,打地鼠游戏本身就是一个点击游戏,将鼹鼠做成按钮也未尝不可。

  新建一个类:Mole

  特别注意!下面的代码中的NormalImage和SelectedImage在最新版本的cocos2d-x for xna中是私有变量,需要自己修改成为public

  通常CCMenuItemSprite通过静态方法取得,而为了更好实现效果,通过继承的方式自己创造一个自定义的按钮,这里需要注意的是构造方法Mole(Scene1 root, SEL_MenuHandler selector),它要求传入游戏根(root)和一个回调事件,它们的存在才能使其发挥作用,具体的可以参考CCMenuItemSprite.itemFromNormalSprite相关说明

  现在改造一下Scene1这个类,让地鼠们出现在场景当中:

  这里注意的是,直接new出来的Mole是无法接收到点击事件的,需要将其创建成为一个CCMenu,在引擎内部的机制当中才可以运行起来。

  在一些游戏里面的场景可能会非常的复杂,会加入CCLayer等做各种的区分,但是不用担心,只要能理解节点和对象之间的关系,很容易就能驾轻就熟。

  运行效果

  现在运行一下看看效果是什么样子的呢,当点击的时候会有变化。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程