简易仿跳一跳——微信小游戏

本文档介绍了如何使用Cocos Creator来制作简易版的微信小游戏‘跳一跳’,包括工程代码预览和主要逻辑代码解析,如game_scene.js, block.js, player.js和rank.js。" 90632414,8339240,理解WPF中的冒泡事件和隧道事件,"['前端开发', 'WPF', '事件处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本简易版 跳一跳使用Cocos来完成编写。
(使用js进行逻辑编写)

预览

在这里插入图片描述

工程代码

工程代码:https://download.youkuaiyun.com/download/weixin_43388844/11391153

主要逻辑代码

game_scene.js:

cc.Class({
    extends: cc.Component,

    properties: {
        // 获取玩家对象 在canvas 里面找到 player 属性然后添加节点
         player:{
            type:cc.Node,
            default:null 
         },
         //获取块资源
         block_prefab:{
             type:cc.Prefab,
             default:[]
         },
         //获取节点
         block_root:{
            type:cc.Node,
            default:null    
         },
         //原点
         left_org:cc.v2(0,0),
         //获取滚动地图的节点
         map_root:{
             type:cc.Node,
             default:null
         },
         num:0,
         //设置斜率
         y_radio:0.580693816,
        //获取 check_out 节点
        checkout:{
            type:cc.Node,
            default:null
        },
        //获取 check_in 节点
        checkin:{
            type:cc.Node,
            default:null
        },
    },

    // LIFE-CYCLE CALLBACKS:

    // onLoad () {},

    start () {
        //定义第一个块 出现的 位置
        // 随机生成3个块中的一个
        this.cur_block = cc.instantiate(this.block_prefab[Math.floor(Math.random()*3)]);  //实例化一个块(地图块)
        //添加到block-root 去
        this.block_root.addChild(this.cur_block)
        this.num ++;
        //把世界坐标转化为原点坐标
        this.cur_block.setPosition(this.block_root.convertToNodeSpaceAR(this.left_org))
        //设置角色的位置
        var w_pos = this.cur_block.getChildByName("mid").convertToWorldSpaceAR(cc.v2(0,0));
        this.player.setPosition(this.block_root.convertToNodeSpaceAR(w_pos))
        
        //把第一个赋值给下一个
        this.next_block = this.cur_block;

        //层次关系初始值
        this.block_zorder = -1;

        //获取角色 player组件
        this.player_com = this.player.getComponent("player")

        //运行
        this.add_block();
    },

    //往地图里面添加块
    add_block(){  
       //初始化一个快 始终让下一个变成第一个
       this.cur_block = this.next_block;
       this.num ++;

       //创建第二个块     
       this.next_block = cc.instantiate(this.block_prefab[Math.floor(Math.random()*3)]);  //实例化一个块(地图块)
       //添加
       this.block_root.addChild(this.next_block)

       //添加块的层次关系
       this.next_block.zIndex = this.block_zorder
       this.block_zorder --;     

       //随机生成X的数值 (200-400)
       var x_distance = 200 + Math.random()*200;
       //更加X的值计数Y的值 设置斜率
       var y_distance = x_distance*this.y_radio;
       //获取 第一个块的坐标
       var next_pos = this.cur_block.getPosition();

       //设置X Y 的值 X的值根据方向来变化
       next_pos.x += (x_distance * this.player_com.direction)
       //next_pos.x +=x_distance  /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值