zoukankan      html  css  js  c++  java
  • canvas 实现飘浮桥效果

    var canvas = document.getElementById('canvas');
    var cxt = canvas.getContext('2d');

    var timer;
    var iStop = false;
    var radius = 50;
    var transX = 0;
    var step = -1;

    function draw(){

    cxt.save();
    cxt.translate(transX, 300);
    cxt.beginPath();
    cxt.moveTo(0, 0);
    for(var i=0; i<2160; i++){
    var y = radius*Math.sin(i*Math.PI/180);
    cxt.lineTo(i, y);
    }
    cxt.stroke();
    cxt.closePath();
    cxt.restore();

    cxt.save();
    cxt.strokeRect(50, 300-Math.abs(radius)-50, 900, 50);
    cxt.restore();

    radius += step;
    if(radius == 50 || radius == -50){
    step = -step;
    }
    transX -= 3;
    if(transX <= -1080){
    transX = 0;
    }
    }

    function erase(){
    cxt.clearRect(0, 0, canvas.width, canvas.height);
    }

    window.requestAnimationFrame =
    window.requestAnimationFrame ||
    window.mozRequestAnimationFrame ||
    window.webkitRequestAnimationFrame ||
    window.msRequestAnimationFrame;

    window.cancelRequestAnimationFrame =
    window.cancelRequestAnimationFrame ||
    window.mozCancelRequestAnimationFrame ||
    window.webkitCancelRequestAnimationFrame ||
    window.msCancelRequestAnimationFrame;

    function animate() {
    erase();
    draw();
    if(iStop){
    cancelRequestAnimationFrame(timer);
    }else{
    timer = requestAnimationFrame(animate);
    }
    }

    animate();

  • 相关阅读:
    php 函数strpos()
    uploadfy api中文文档
    thinkphp + 美图秀秀api 实现图片裁切上传,带数据库
    mysql 操作用户权限
    window.location 小结)
    turn.js 图书翻页效果
    thinkphp 内置标签volist 控制换行
    js 数据类型转换
    quartz 2.2.1
    Mysql测试链接
  • 原文地址:https://www.cnblogs.com/liubu/p/7846943.html
Copyright © 2011-2022 走看看