微信小程序实现弹球游戏

 更新时间:2022年09月08日 16:18:39   作者:枫渝浪天下  
这篇文章主要为大家详细介绍了微信小程序实现弹球游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了微信小程序实现弹球游戏的具体代码,供大家参考,具体内容如下

实验内容:

小球按照随机的角度直线运动,如果碰到四壁则反弹。你们不需要做游戏计时、设置小球及背景颜色等,只完成小球在方框内反弹运动的功能。这里主要考查绘图知识,数学计算能力,以及对定时器的应用。

实验效果(最简单版本):

实验代码:

index.js

// index.js
Page({
    data:{
      cx:200,
      cy:50,
      destinaX:3,
      destinaY:2
    },
    //初次渲染触发
    onReady:function(){
      var c=wx.createCanvasContext("canvasTest");
      // var c=wx.createSelectorQuery('canvasTest')
      var that=this;
      var timer=setInterval(canvasSize,20);
      function canvasSize(){
        //画布数据
        const width=300;
        const height=300;
        const speed=2;
        const r=7;
        //下面是相对左上角基点距离 和画布大小
        c.rect(0,0,width,height);
        c.stroke();
        //球会根据实时位置发生变化
        c.beginPath();
        var ox1=that.datacox;
        var oy1=that.datacoy;
          ox1=that.data.destinaX*speed+that.data.cx;
          oy1=that.data.cy-that.data.destinaY*speed;
          if(ox1>=width||ox1<=0){
            var bounceX=-that.data.destinaX;
            that.setData({destinaX:bounceX});
            ox1=that.data.destinaX*speed+that.data.cx;
          }
          if(oy1>=height||oy1<=0){
            var bounceY=-that.data.destinaY;
            that.setData({destinaY:bounceY});
            oy1=that.data.cy-that.data.destinaY*speed;
          }
 
     console.log(that.data.ox1,that.data.oy1);
        that.setData({cx:ox1,cy:oy1});
        c.arc(that.data.cx,that.data.cy,r,0,2*Math.PI);
        c.fill();
        c.stroke();
        c.draw();
      }
    }
  })

index.wxml

<!--index.wxml-->
<view class="canvasStyle">
<canvas canvas-id="canvasTest" style="width: 300px;height: 300px;"></canvas> 
</view>

index.wxss

/**index.wxss**/
.canvasStyle{
  display: flex;
  justify-content: center;
  margin: 10px;
  margin-top: 70px;
  background-color: aqua;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 对象题目的一个坑 理解Javascript对象

    对象题目的一个坑 理解Javascript对象

    这篇文章主要介绍了Javascript对象,特别为大家分享了对象题目的一个坑,提供了解题思路,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • js data日期初始化的5种方法

    js data日期初始化的5种方法

    本文为大家介绍下js data日期初始化的常用5种方法,感兴趣的朋友可以参考下
    2013-12-12
  • 使用html+js+css 实现页面轮播图效果(实例讲解)

    使用html+js+css 实现页面轮播图效果(实例讲解)

    下面小编就为大家带来一篇使用html+js+css 实现页面轮播图效果(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • JS对大量数据进行多重过滤的方法

    JS对大量数据进行多重过滤的方法

    今天在工作中遇到一个问题,当前端通过Ajax从后端取得了大量的数据,需要根据一些条件过滤,但是发现写的过滤方法有问题,后来仔细的查找问题,通过网上的资料终于解决了这个问题,现在将解决的过程以及解决方法分享给大家,有需要的朋友们可以参考借鉴。
    2016-11-11
  • Bootstrap图片轮播效果详解

    Bootstrap图片轮播效果详解

    这篇文章主要为大家详细介绍了Bootstrap图片轮播效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • js实现密码强度检测【附示例】

    js实现密码强度检测【附示例】

    下面小编就为大家带来一篇js实现密码强度检测【附示例】。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-03-03
  • 微信小程序播放背景音乐的实例代码

    微信小程序播放背景音乐的实例代码

    这篇文章主要介绍了微信小程序播放背景音乐,实现原理是通过wx.getBackgroundAudioManager获取全局唯一的背景音频管理器,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-01-01
  • JavaScript 学习笔记(四)

    JavaScript 学习笔记(四)

    今天继续学习JS中的对象,昨天学完了本地对象中的两个重要对象Array和Date。今天看下内置对象Global对象和Math对象。
    2009-12-12
  • JavaScript实现请求服务端接口方法详解

    JavaScript实现请求服务端接口方法详解

    这篇文章主要介绍了JavaScript实现请求服务端接口方法,JavaScript 中请求服务端接口的代码实现可能会因为使用的方法而有所不同,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • js网页右下角提示框实例

    js网页右下角提示框实例

    这篇文章主要介绍了js网页右下角提示框的实现方法,以实例展示了css样式与HTML布局,以及对应的js显示与关闭提示框等功能,需要的朋友可以参考下
    2014-10-10

最新评论