微信小程序中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 相关文章推荐
Jquery知识点一 Jquery的ready和Dom的onload的区别
Jan 15 Javascript
javascript管中窥豹 形参与实参浅析
Dec 17 Javascript
使用JavaScript构建JSON格式字符串实现步骤
Mar 22 Javascript
document.getElementById获取控件对象为空的解决方法
Nov 20 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
Dec 06 jQuery
在vue-cli项目中使用bootstrap的方法示例
Apr 21 Javascript
如何用webpack4带你实现一个vue的打包的项目
Jun 20 Javascript
React styled-components设置组件属性的方法
Aug 07 Javascript
使用uni-app开发微信小程序的实现
Dec 13 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
Mar 02 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
Sep 22 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 调用远程url的六种方法小结
2009/11/02 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
过虑特殊字符输入的js代码
2010/08/05 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
javascript中强制执行toString()具体实现
2013/04/27 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
2019/05/16 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
vue 项目引入echarts 添加点击事件操作
2020/09/09 Javascript
python with statement 进行文件操作指南
2014/08/22 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
django模板结构优化的方法
2019/02/28 Python
关于python多重赋值的小问题
2019/04/17 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
Python图片处理模块PIL操作方法(pillow)
2020/04/07 Python
python中Django文件上传方法详解
2020/08/05 Python
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
英国景点门票网站:attractiontix
2019/08/27 全球购物
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
酒店司机岗位职责
2013/12/14 职场文书
车间机修工岗位职责
2014/02/28 职场文书
班主任对学生的评语
2014/04/26 职场文书
党员个人总结自评
2015/02/14 职场文书
工资证明范本
2015/06/12 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python