见缝插针小游戏开发

本文详细介绍了见缝插针小游戏的开发过程,包括主要逻辑、游戏结构和关键代码。游戏逻辑涉及设置游戏数据、大球旋转以及点击发射大头针的计算。游戏结构由大球、小球和大头针组成,通过调整大头针的旋转角度确保垂直插入旋转的大球。代码部分展示了Game.js的主要逻辑。
摘要由CSDN通过智能技术生成
一、主要逻辑

​ 首先根据配置表设置好游戏数据(比如大球的旋转速度、旋转方向、默认已经插上的针数及间隔角度,小球的数量等按需设置即可),开始游戏后大球不停的旋转,点击屏幕从下方发射“大头针”,并计算好移动距离,这样可以不需要检测针尖和大球的碰撞,当“大头针”移动到指定位置时修改它的父节点为大球,关键来了,这里因为大球一直在旋转,为了让“大头针”始终垂直的插上大球,这里要正确设置小球的旋转角度,大头针的目标坐标为大球的底部,根据大球的半径和角度可以求得具体x、y。如果大头针和大头针相碰了则游戏失败,如果没有相碰则继续下一轮,如果全部发射完毕则过关。

二、主要结构

​ 大球-小球-大头针

​ 大球:只是个精灵节点

​ 小球: 下方待发射区展示用,精灵+label显示编号

​ 大头针:点击发射时,根据小球的编号来创建一个大头针并使其飞向大球同时移除待发射区最上面的一颗小球,大头针的锚点为针尖位置,方便计算旋转角度。

三、上代码:
大头针
/**
 * Created by xujiawei on 2020-04-29 17:58:39
 */

cc.Class({
   
    extends: cc.Component,
    properties: {
   
        arrow: cc.Node,
        numLabel: cc.Label,
    },

    initSmallBall(params) {
   
        this.numLabel.string = params.num;
        this.arrow.active = !!params.showArrow;
    },

    /**
    * 当碰撞产生的时候调用
    * @param  {
   Collider} other 产生碰撞的另一个碰撞组件
    * @param  {
   Collider} self  产生碰撞的自身的碰撞组件
    */
    onCollisionEnter: function (other, self) {
   
        other.node.stopAllActions();
        self.node.stopAllActions();
        zy.event.emit("gameover");
        cc.log('小球碰撞,游戏失败');
    }
});
主要逻辑 Game.js
/**
 * Created by xujiawei on 2020-04-29 17:37:50
 */

cc.Class({
   
    extends: cc.Component,
    properties: {
   
        ballPanel: cc.Node,
        smallBallPF: cc.Prefab,
        bigBall: cc.Node,
        levelLabel: cc.Label,
        bulletNode: cc.Node,
        bgNode: cc.Node,
    },

    init(params) {
   
        this.smallBalls = [];
        this.tmpBalls = [];</
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值