(小游戏)详解消方块:微信小程序开发

大家好!我又来了。今天我又写了一个超级无聊的小游戏

在无聊的道路上,渐行渐远。还记得儿时我们喜欢玩的这个游戏吗?

由于我申请的小程序不是小游戏,所以无法体验;

于是我又写成H5页面:http://www.yating.online/brick.html

喜欢就给我点个星吧:https://github.com/Chenyating/easyGame

一、简单介绍:

简单的介绍一下我的小游戏:

通过红色小块的反弹,吃掉白色小块,长条需接住反弹回来的红色小块;

操作说明:

1、点击界面的空白处;

游戏规则:

1、红色小块开始从白色长条出发,周而复始随机撞击小白块

2、红色小块回到底部时,必须在白色长条上

结束条件:

红色小块落地;(吃完小白块需要猴年马月

 

二、技术难点

  • 小程序的canvas的使用;
  • 本次开发的是小程序;

通过开发的过程,该游戏最大的难点如下:

1、小红运动的方式角度

2、小长条运动的方法:

 

三、实现步骤:

接下来我开始详细说明这个游戏设计过程,实现的逻辑;

红色小块简称:小红(red)

白色长条简称:小长(slider),

小白块简称:小白;

以下为我设置的变量:

  data: {
        // 画布配置
        canvasWidth: 310,
        canvasHeight: 500,
        canvasCenterX: 0,
        // 整块画布
        context: null,
        // 滑块配置
        sliderX: 125,
        sliderY: 490,
        sliderWidth: 100, //滑块宽度
        sliderHeight: 10, //滑块高度
        sliderCenter: null, //滑块中心
        sliderSpeed: 1, //滑块速度
        // 滑块移动到的位置
        mouseX: null,
        position: 1, //1为右,-1为左
        redraw: null, //滑块移动的循环作用
        // 砖头们的设置
        blocksContext: null,
        blocks: null,
        blocksWidth: 9,
        // 小红砖
        redBlock: null,
        redX: 150,
        redY: 480,
        redK: -1,
        redB: null,
        redM: 1,
        rered: null,
        redSpeed: 5,
        // 分值记录
        fail: 0,
        score: 0
    },

一、绘制

1、小长的绘制:

    // 绘制滑块
    drawSlider(x) {
        var bu = this.data.context
        bu.setFillStyle('#ffffff');
        bu.fillRect(x, this.data.sliderY, this.data.sliderWidth, this.data.sliderHeight);
        bu.draw();
    },

需要获取鼠标点击的位置,鼠标点击的位置相对于滑块中心点的方位,这里position为在x轴上移动的距离;

 //获取鼠标X的位置
    sliderDot(e) {
        this.setData({
            mouseX: e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值