CocosCreator入门学习《FlappyBird》(七):添加碰撞检测

Creator内置了物理系统,本游戏只简单的用到了物理系统里面的碰撞组件中的Collider 组件。

深入学习请前往:https://docs.cocos.com/creator/manual/zh/physics/collision/

给小鸟添加Collider 组件:

直接使用BoxCollider组件,Editing选项默认是没有勾选的,如果勾选上了,我们就可以看到小鸟的四周的有个绿色的框,我们可以通过鼠标拉取变化碰撞体的大小。这里我们直接用默认的大小就可以了,不需要勾选调整

接下来给障碍物添加碰撞体:

给上下两个管子都加上碰撞组件,然后保存之后,双击Scene文件夹中的mian场景文件,然后再保存当前场景。

双击MainControl脚本文件,编辑代码:

在onLoad函数中添加上述代码,主要做了两件事:

1:开启碰撞检测(默认是关闭检测的),只有挂上了碰撞组件的节点才会在游戏中被检查碰撞。

2:开启Debug模式,这样我们可以看到节点的碰撞体形状以及大小等。

保存代码,运行,看效果

小鸟和障碍物四周都有白色的线,这就是碰撞体的形状。从图中可以看出来,碰撞体会跟着节点移动、旋转。

打开BirdControl.ts脚本添加如下代码:

onCollisionEnter函数是引擎默认的碰撞开始的回调函数,每个挂载了碰撞体的节点,在开始发生碰撞的时候都会触发这个函数。

上述代码,表示在小鸟发生碰撞之后,在控制台输出一个gameOver的输出。

如何打开浏览器的控制台?

游戏运行起来之后,控制小鸟撞向柱子,然后去看控制台输出。

看到控制台输出"gameOver",就说明BirdControl.ts中的onCollisionEnter函数在小鸟和柱子装上的时候已经被触发。

但是玩家不知道游戏结束了,除了我们开发者会去看控制台输出,其他人根本不会去看,所以我们需要在界面上面显示游戏结束,下节我们继续。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值