html5泡泡龙游戏开发随笔

由于刚刚入职,上一款游戏开发已经进入尾声,所以在下一款游戏到来之前的一段时间,做了一个泡泡龙的游戏。在做这款小游戏时候,发现里面的逻辑还是挺多的,所以在此记录一下开发过程中比较重要的点。
用到的技术,html5 canvas PIXI.JS游戏引擎,js开发
1. 发射小球与上方球的碰撞检测处理。
方法:
① 发射球开始运动时,让其与每一个上方的小球进行圆心距离判断,当距离为2个半径时,那么我们认为发生碰撞,让他停止运动。
② 停止了不代表真的可以停止。因为我们要确保每一个小球周围的位置都是固定的,所以我们要对停止的小球进行位置调整。
用一个函数来获取碰撞时,与发射球碰撞小球周围的6个位置坐标,判断发射球的坐标与那6个坐标距离,哪个距离近,我们就把小球移动到最近的那个坐标位置。

  1. 发生碰撞时,要给一个力,让被撞到或者间接撞到的球有一个弹动
    方法:
    递归两次,确保发射球碰到的球,以及这个被碰到的球的周围的球,发生相应弹动。弹动方向就是发射球与这个球的延长线上

  2. 碰撞成功之后,我们需要判断是否消除的问题
    方法:
    小球对象设置一个属性canPop,属性默认设置为false。这时我们要递归这个发射球,如果这个发射球周围6个位置有和他相同的颜色,那么把这个小球标记为canPop,同时递归这个球。(切记被递归过得不能再递归),最后遍历所有小球,如果canPop为true >=3,那么消除这几个球。

4.消除之后,还有判断是否处于未连接状态的小球

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值