微信小程序中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 相关文章推荐
window.onbeforeunload方法在IE下无法正常工作的解决办法
Jan 23 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
Mar 07 Javascript
jQuery简单实现banner图片切换
Jan 02 Javascript
js实现字符串的16进制编码不加密
Apr 25 Javascript
jQuery的缓存机制浅析
Jun 07 Javascript
理解javascript回调函数
Dec 28 Javascript
jQuery鼠标事件汇总
Aug 30 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
Jan 05 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
Apr 18 Javascript
spring+angular实现导出excel的实现代码
Feb 27 Javascript
浅谈 Webpack 如何处理图片(开发、打包、优化)
May 15 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
PHP简洁函数小结
2011/08/12 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
极酷的javascirpt,让你随意编辑任何网页
2007/02/25 Javascript
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
关于jQuery里prev()的简单操作代码
2017/10/27 jQuery
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
简单介绍利用TK在Python下进行GUI编程的教程
2015/04/13 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
python操作excel文件并输出txt文件的实例
2018/07/10 Python
python 快速把超大txt文件转存为csv的实例
2018/10/26 Python
详解Python 正则表达式模块
2018/11/05 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
python处理写入数据代码讲解
2020/10/22 Python
利用python进行文件操作
2020/12/04 Python
水产养殖学应届生求职信
2013/09/29 职场文书
仓库管理专业个人的自我评价
2013/12/30 职场文书
2014年公务员工作总结
2014/11/18 职场文书
世界气象日活动总结
2015/02/27 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
nginx服务器的下载安装与使用详解
2021/08/02 Servers
Pygame Rect区域位置的使用(图文)
2021/11/17 Python