微信小程序入门案例——绘制时钟,供大家参考,具体内容如下
涉及内容:canvas、每秒刷新页面、绘制
目录结构:
pages\index\index.js
Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.ctx = wx.createCanvasContext('clockCanvas') this.drawClock() var that = this this.interval=setInterval(function(){ that.drawClock() },1000) }, /** * 绘制时钟 */ drawClock:function(){ /** * 准备工作 */ let width = 300,height=300 var ctx= this.ctx ctx.translate(width/2,height/2) ctx.rotate(-Math.PI/2) /** * 绘制时钟刻度 */ ctx.lineWidth=6 ctx.lineCap='round' for(let i=0;i<12;i++){ ctx.beginPath() ctx.moveTo(80,0) ctx.lineTo(100,0) ctx.stroke() ctx.rotate(Math.PI/6) } ctx.lineWidth=5 ctx.lineCap='round' for(let i = 0;i<60;i++){ ctx.beginPath() ctx.moveTo(88,0) ctx.lineTo(100,0) ctx.stroke() ctx.rotate(Math.PI/30) } /** * 获取按当前时间 */ let time = this.getTime() let h = time[0] let m = time[1] let s = time[2] /** * 绘制时钟指针 */ ctx.save() ctx.rotate(h * Math.PI/6 + m * Math.PI/360 + s * Math.PI/21600) ctx.lineWidth=12 ctx.beginPath() ctx.moveTo(-20,0) ctx.lineTo(60,0) ctx.stroke() ctx.restore() /** * 绘制时钟分针 */ ctx.save() ctx.rotate(m * Math.PI/30 + s * Math.PI/1800) ctx.lineWidth=8 ctx.beginPath() ctx.moveTo(-20,0) ctx.lineTo(82,0) ctx.stroke() ctx.restore() /** * 绘制时钟妙针 */ ctx.save() ctx.rotate(s*Math.PI/30) ctx.strokeStyle = 'red' ctx.lineWidth = 6 ctx.beginPath() ctx.moveTo(-30,0) ctx.lineTo(90,0) ctx.stroke() ctx.fillStyle='red' ctx.beginPath() ctx.arc(0,0,10,0,Math.PI*2,true) ctx.fill() ctx.restore() /** * 绘制 */ ctx.draw() /** * 更新页面显示时间 */ this.setData({ h:h>9"htmlcode"><view class="container"> <text>My Clock</text> <canvas canvas-id="clockCanvas"></canvas> <text>{{h}}:{{m}}:{{s}}</text> </view>pages\index\index.wxss
.container{ height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: space-around; } text{ font-size: 40pt; font-weight: bold; } canvas{ width: 600rpx; height: 600rpx; }app.js
App({ /** * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) */ onLaunch: function () { }, /** * 当小程序启动,或从后台进入前台显示,会触发 onShow */ onShow: function (options) { }, /** * 当小程序从前台进入后台,会触发 onHide */ onHide: function () { }, /** * 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息 */ onError: function (msg) { } })app.json
{ "pages":[ "pages/index/index" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "我的时钟", "navigationBarTextStyle":"black" }, "style": "v2", "sitemapLocation": "sitemap.json" }运行截图:
为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
微信小程序,时钟
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“微信小程序入门之绘制时钟”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年12月28日
2024年12月28日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]