微信小程序中setInterval的使用方法


Posted in Javascript onSeptember 29, 2017

微信小程序中setInterval的使用方法

看了下小程序的画布功能,简单的使用了一下,用蹩脚的逻辑做了个 “弹啊弹,弹走鱼尾纹的小球”,一起来看下吧。过程不重要主要是画布的使用哦。(本来想传gif的来着,后来发现不会传,就传个图片吧,想看的自己下载下来玩呦)

先上图,后上代码了:

微信小程序中setInterval的使用方法

js:

var winWidth = 0 
var winHeight = 0 
var diameter = 10 
var time = 0 
Page({ 
 data:{ 
  numX:1, 
  numY:1 
 }, 
 xy:{ 
  //小球的xy坐标 
  x:10, 
  y:10 
 }, 
 onLoad:function(options){ 
  //进来先获取手机的屏幕宽度和高度 
  wx.getSystemInfo({ 
   success: function(res) { 
    console.log(res) 
    winHeight = res.windowHeight; 
    winWidth = res.windowWidth; 
   } 
  }) 
 }, 
 onReady:function(){ 
   //循环滚动小球 
   for(var i=0;i<1;i++){ 
    //随机一个滚动的速度 
    time = (1+Math.random()*10) 
    setInterval(this.move,time); 
    console.log(time) 
   } 
 }, 
 move(){ 
  //x  
  if(this.data.numX == 1){ 
   this.xy.x++ 
  }else{ 
   this.xy.x-- 
  } 
  //判断x轴的状态 
  if(this.xy.x == winWidth-diameter){ 
    this.data.numX=2 
  } 
  if(this.xy.x == diameter){ 
    this.data.numX=1 
  } 
  //y 
  if(this.data.numY == 1){ 
    this.xy.y++ 
  }else{ 
    this.xy.y-- 
  } 
  //判断y轴的状态 
  if(this.xy.y == 400-diameter){ 
    this.data.numY=2 
  } 
  if(this.xy.y == diameter){ 
    this.data.numY=1 
  } 
  //画图 
  this.ballMove(this.xy.x,this.xy.y); 
 }, 
 ballMove(x,y){ 
  // 使用 wx.createContext 获取绘图上下文 context 
  var context = wx.createContext() 
  // context.setShadow(0,1,6,'#000000')//阴影效果 
  context.setFillStyle("#FF4500")//球的颜色 
  context.setLineWidth(2) 
  context.arc(x, y, diameter, 0, 2 * Math.PI, true) 
  context.fill() 
  // 调用 wx.drawCanvas,通过 canvasId 指定在哪张画布上绘制,通过 actions 指定绘制行为 
  wx.drawCanvas({ 
   canvasId: 'ball', 
   actions: context.getActions() // 获取绘图动作数组 
  }) 
 } 
})

wxml:

canvas-id="ball">

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
javascript客户端解决方案 缓存提供程序
Jul 14 Javascript
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
[JSF]使用DataModel处理表行事件的实例代码
Aug 05 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
Dec 16 Javascript
javascript实现依次输入input自动定焦
Dec 23 Javascript
jQuery实现切换字体大小的方法
Mar 10 Javascript
JavaScript 表单处理实现代码
Apr 13 Javascript
jQuery选择器及jquery案例详解(必看)
May 20 Javascript
Node.JS利用PhantomJs抓取网页入门教程
May 19 Javascript
webpack热模块替换(HMR)/热更新的方法
Apr 05 Javascript
Angular6封装http请求的步骤详解
Aug 13 Javascript
生产制造追溯系统之再说条码打印
Jun 03 Javascript
vue生成随机验证码的示例代码
Sep 29 #Javascript
JS设计模式之单例模式(一)
Sep 29 #Javascript
微信小程序的日期选择器的实例详解
Sep 29 #Javascript
JS设计模式之惰性模式(二)
Sep 29 #Javascript
bootstrap table方法之expandRow-collapseRow展开或关闭当前行数据
Aug 09 #Javascript
详解用Node.js实现Restful风格webservice
Sep 29 #Javascript
实现一个完整的Node.js RESTful API的示例
Sep 29 #Javascript
You might like
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
PHP之密码加密的几种方式
2015/07/29 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
关于JavaScript中var声明变量作用域的推断
2010/12/16 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
2016/02/25 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
2018/09/03 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
js代码实现轮播图
2020/05/04 Javascript
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
Python中列表(list)操作方法汇总
2014/08/18 Python
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
Python搭建FTP服务器的方法示例
2018/01/19 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
社会实践感言
2014/01/25 职场文书
秋季运动会活动方案
2014/02/05 职场文书
优秀医生事迹材料
2014/02/12 职场文书
个人总结与自我评价
2014/09/18 职场文书
辞职信的写法
2015/02/27 职场文书
深入浅析React中diff算法
2021/05/19 Javascript
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
python playwrigh框架入门安装使用
2022/07/23 Python