微信小程序中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 相关文章推荐
IE 缓存策略的BUG的解决方法
Jul 21 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
Feb 07 Javascript
JQuery入门基础小实例(1)
Sep 17 Javascript
基于JavaScript实现熔岩灯效果导航菜单
Jan 04 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
Aug 17 Javascript
浅谈react-native热更新react-native-pushy集成遇到的问题
Sep 30 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
vue 页面加载进度条组件实例
Feb 05 Javascript
vue实现与安卓、IOS交互的方法
Nov 02 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
Aug 27 Javascript
Vue中img的src是动态渲染时不显示的解决
Nov 14 Javascript
vue移动端使用canvas签名的实现
Jan 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/06/09 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
2014/01/30 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
2010/11/09 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
koa2服务端使用jwt进行鉴权及路由权限分发的流程分析
2019/07/22 Javascript
Python运维开发之psutil库的使用详解
2018/10/18 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
Russell Stover巧克力官方网站:美国领先的精美巧克力制造商
2016/11/27 全球购物
英国最大的经认证的有机超市:Planet Organic
2018/02/02 全球购物
地理科学专业毕业生求职信
2013/10/15 职场文书
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
杭白菊导游词
2015/02/10 职场文书
亮剑精神观后感
2015/06/05 职场文书
django学习之ajax post传参的2种格式实例
2021/05/14 Python
豆瓣2021评分最高动画剧集-豆瓣评分最高的动画剧集2021
2022/03/18 日漫
nginx配置之并发频次限制
2022/04/18 Servers