微信小程序中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获取样式中的背景颜色属性值/颜色值
Dec 17 Javascript
JS实现时间格式化的方式汇总
Oct 16 Javascript
js返回上一页并刷新的多种实现方法
Feb 26 Javascript
js判断iframe内的网页是否滚动到底部触发事件
Mar 18 Javascript
jQuery检查事件是否触发的方法
Jun 26 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
微信小程序  网络请求API详解
Oct 25 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
在小程序开发中使用npm的方法
Oct 17 Javascript
vue中导出Excel表格的实现代码
Oct 18 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
Vue学习之axios的使用方法实例分析
Jan 06 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/04/12 PHP
php 文件上传实例代码
2012/04/19 PHP
PHP实现数组和对象的相互转换操作示例
2019/03/20 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
PHP结合jQuery实现红蓝投票功能特效
2015/07/22 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
无缝滚动的简单实现代码(推荐)
2016/06/07 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
jquery ajax异步提交表单数据的方法
2017/10/27 jQuery
vue + vuex todolist的实现示例代码
2018/03/09 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
Python3.4学习笔记之列表、数组操作示例
2019/03/01 Python
python3实现高效的端口扫描
2019/08/31 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
超市营业员岗位职责
2013/12/20 职场文书
软件项目实施计划书
2014/05/02 职场文书
ktv好的活动方案
2014/08/15 职场文书
北京故宫导游词
2015/01/31 职场文书
安全保证书怎么写
2015/02/28 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
2015年科室工作总结
2015/04/10 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
MySQL示例讲解数据库约束以及表的设计
2022/06/16 MySQL