zoukankan      html  css  js  c++  java
  • 小程序利用画布动态画圆

    wxml代码

    <view class='container'>
    	<canvas style='300px;height:200px;' canvas-id='canvas'></canvas>
    </view>
    

     js代码

    Page({
        data: {
            // 开始角度
            startAngle: -(1 / 2 * Math.PI),
            // 结束角度
            endAngle: 3 / 2 * Math.PI,
            // 偏移角度
            xAngle: Math.PI / 180
        },
        onLoad: function() {
            var that = this;
            var cxt_arc = wx.createContext();
            var endAngle = that.data.endAngle;
            var xAngle = that.data.xAngle;
            var templeAngle = that.data.startAngle;
            var rander = function() {
                if (templeAngle >= endAngle) {
                    return;
                } else if (templeAngle + xAngle > endAngle) {
                    templeAngle = endAngle;
                } else {
                    templeAngle += xAngle
                }
                cxt_arc.beginPath();
                cxt_arc.setStrokeStyle('red')
                cxt_arc.arc(100, 50, 50, that.data.startAngle, templeAngle);
                cxt_arc.stroke();
                cxt_arc.closePath();
                wx.drawCanvas({
                    canvasId: 'canvas',
                    actions: cxt_arc.getActions()
                })
       
                requestAnimationFrame(rander);
            }
            rander()
        },
    })
    

     对requestAnimationFrame的解释

    window.requestAnimFrame = (function(){
    	return  window.requestAnimationFrame       ||
    	      window.webkitRequestAnimationFrame ||
    	      window.mozRequestAnimationFrame    ||
    	        function( callback ){
    	                window.setTimeout(callback, 1000 / 60);
    	         };
    })();
             

    canvas的arc参数
    arc(圆的中心位置x坐标,圆的中心位置y坐标,圆的半径,开始的角度,结束的角度,顺时针还是逆时针[true是逆时针])
    再放一张圆的角度图


    这样就完成了对一个圆的动态画布的绘制
  • 相关阅读:
    2015.10.9js(页面坐标)
    2015.8.2js-19(完美运动框架)
    2015.7.12js-11(DOM基础)
    2015.7.7js-07-2(基础)
    2015.7.11js-10(无缝滚动)
    2015.7.10js-07(简单时间)
    2015.7.8js-05(简单日历)
    2015-7.7森林探秘季
    jquery scroll()滚动条事件
    资源(127.0.0.1)处于联机状态,但未对连接尝试做出反应
  • 原文地址:https://www.cnblogs.com/lwwen/p/6520099.html
Copyright © 2011-2022 走看看