`
128kj
  • 浏览: 600549 次
  • 来自: ...
社区版块
存档分类
最新评论

HTML5 Canvas眨眼睛动画

阅读更多
在网上发现一个java眨眼睛动画,把代码改成了HTML5 +JS,效果如下:


动画中有一些明显不足之处,请会的朋友指正,谢谢!

这里可以看效果:http://www.108js.com/article/article3/view/30157/eye.html
代码如下:
<html>
<body>
 <canvas width="300" height="300" id="canvas" style="background:black"></canvas>
</body>
</html>
<script>

var canvas = document.getElementById('canvas');
 var  graphics = canvas.getContext('2d');
 var  centerX = canvas.width/2;
 var  centerY = canvas.height/2;
 //设置角度值,同时也就眼睛的横坐标长度
 var angle = 300;
  //因为眨眼采用的sin()函数组成,所以其自然有幅值这一个属性。
  var amplitude = 30;
  //创建一个用于保存幅值的变化的变量,采用amplitude的缩写ampl,便于认识 ^_^
  var ampl = 20;
  //灰眼球的半径
   var blackBallSemi = 25;
  var flag = true;
     
  function paint() {
       if (flag) {
          ampl++;
          if (ampl >= amplitude) {
             flag = false;
           }
       }else {
              ampl--;
              if (ampl <= 0) {
               flag = true;
              }
         }
      //以centerX,centerY为中心,在眼睛所在的地方绘制一个白色的背景底色,
        //长度为angle,宽为amplitude*2
        
        graphics.fillStyle="white";
        
        graphics.fillRect(centerX-angle/2, centerY-amplitude, angle, amplitude*2);
        
        //以centerX,centerY为中心,绘制一个灰色的眼球
        //半径为blackBallSemi*2
        graphics.beginPath();
        graphics.fillStyle="black";
        graphics.arc(centerX, centerY, blackBallSemi,0,Math.PI*2,true);
        graphics.fill();
          graphics.beginPath();
        //以centerX,centerY为中心,绘制一个白色的瞳孔
        //半径为blackBallSemi/2
        graphics.fillStyle="white";
        graphics.arc(centerX,centerY, blackBallSemi/4,0,Math.PI*2,true);
        graphics.fill();
         graphics.strokeStyle="red";
           for (var i = 0; i < angle; i++) {
            graphics.moveTo(centerX-angle/2+i,centerY-30);
            graphics.lineTo(centerX-angle/2+i, centerY-(Math.floor(Math.sin(Math.PI*i/angle)*ampl)));
            graphics.moveTo(centerX-angle/2+i,centerY+30);
            graphics.lineTo(centerX-angle/2+i,centerY+(Math.floor(Math.sin(Math.PI*i/angle)*ampl)));
            graphics.stroke();
        }
      
      
    }
   // paint();
 setInterval(paint,30);
</script>


下载源代码:http://www.108js.com/article/article3/30157.html
  • 大小: 1.9 KB
0
0
分享到:
评论

相关推荐

    HTML5 Canvas全屏背景动画特效

    在这个“HTML5 Canvas全屏背景动画特效”的主题中,我们将深入探讨如何利用Canvas来创建引人注目的全屏动画背景,以及相关的编程技术和实践技巧。 一、Canvas基础 1. Canvas元素:HTML5引入的Canvas是一个二维绘图...

    html5 canvas小人跳舞动画特效

    这个"html5 canvas小人跳舞动画特效"是一个利用Canvas API实现的交互式动画示例,它展示了如何通过编程方式创建动态、生动的视觉效果。 在Canvas中,我们可以使用`canvas.getContext('2d')`获取2D渲染上下文,然后...

    HTML5 canvas爱心表白动画

    在这个“HTML5 canvas爱心表白动画”项目中,开发者利用Canvas API构建了一个浪漫的动画场景,将编程技术与情感表达巧妙结合,为程序员提供了一种独特的方式来表达爱意。 首先,Canvas API是HTML5中的一个重要组成...

    HTML5 Canvas龙卷风动画特效

    在这个“HTML5 Canvas龙卷风动画特效”项目中,开发者使用了Canvas API结合three.js库来实现了一种模拟龙卷风效果的动画。 首先,我们要理解HTML5 Canvas的基本概念。Canvas是一个HTML元素,通过JavaScript可以控制...

    HTML5 Canvas表白爱心动画特效.zip

    在“HTML5 Canvas表白爱心动画特效”这个项目中,开发者利用Canvas API创建了一种浪漫且酷炫的动画效果,非常适合情人节等特殊场合用来表达情感。 首先,Canvas API是HTML5引入的一个重要特性,它提供了一个2D渲染...

    html5 canvas多层波浪背景动画特效

    在本示例中,“html5 canvas多层波浪背景动画特效”是一个利用Canvas API实现的动态视觉效果,它可以为网页增添生动而引人入胜的背景。用户可以通过鼠标操作,如按住鼠标左右键或上下移动,来改变波浪的颜色和饱和度...

    HTML5 Canvas彩色渐变背景动画效果

    这款基于HTML5 Canvas的彩色渐变背景动画效果,是利用Canvas API来实现的一种互动性极强的视觉特效。当鼠标在画布上移动时,背景颜色会随着鼠标的移动而产生渐变变化,为用户提供了生动且引人入胜的交互体验。 首先...

    html5,canvas赛车游戏动画

    在“html5,canvas赛车游戏动画”这个项目中,我们将探讨如何利用Canvas来构建一个静态的赛车游戏动画。 Canvas 提供了一系列的绘图方法,如`fillRect()`用于填充矩形,`beginPath()`和`stroke()`用于绘制路径,...

    原生js html5 canvas 3D云动画效果

    在IT行业中,HTML5、Canvas和JavaScript是创建交互式网页内容的重要工具,特别是对于实现动态图形和动画。本文将深入探讨如何使用原生JavaScript和HTML5的Canvas API来创建3D云动画效果。 首先,HTML5 Canvas是一个...

    html5 canvas炫酷线条动画特效

    在这个“html5 canvas炫酷线条动画特效”中,我们看到的是利用Canvas API实现的一种动态视觉效果,即线条在键盘按下时会不断变化,形成一种能量传输或科幻动画的感觉。 首先,我们要理解Canvas的基本用法。HTML5 `...

    HTML5 Canvas弹性文字动画

    在HTML5中,Canvas上不仅可以绘制图形和动画,还可以实现各种炫酷的文字动画特效。之前分享过一篇文章7款超华丽的HTML5 Canvas文字动画特效,其中就有不少令人惊叹的HTML5文字特效。这次我们给大家分享的也是一款...

    html5 canvas云粒子数字时钟动画特效

    在这个“html5 canvas云粒子数字时钟动画特效”中,我们看到的是Canvas技术与时间显示、粒子系统相结合的应用实例。下面将详细阐述相关知识点。 1. HTML5 Canvas API: HTML5 Canvas是一个基于矢量图形的画布,...

    html5 canvas流动的瀑布动画特效

    html5 canvas流动的瀑布动画特效 html5 canvas流动的瀑布动画特效

    HTML5 canvas宇宙中星云动画背景特效

    HTML5 canvas是现代网页开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,提供了丰富的绘图功能,使得创建交互式和动画效果成为可能。在这个特定的案例中,“HTML5 canvas宇宙中星云动画背景特效”是一...

    html5 canvas熊熊火焰动画特效

    在这个“html5 canvas熊熊火焰动画特效”中,我们将深入探讨如何利用HTML5 Canvas API创建逼真的火焰动画效果。 首先,要实现这样的动画,我们需要了解Canvas的基本用法。Canvas是一个基于矢量图形的画布,通过...

    HTML5 Canvas粒子火焰动画特效

    HTML5 Canvas是Web开发中的一个强大工具,它允许开发者在网页上进行动态图形绘制,...通过阅读和分析这些文件,可以更深入地理解上述概念,并将它们应用到实际项目中,创造出令人惊叹的HTML5 Canvas粒子火焰动画特效。

    7款HTML5 Canvas全屏背景动画特效.zip

    这款“7款HTML5 Canvas全屏背景动画特效”集合了七种不同的Canvas动画,为网站提供引人入胜的全屏背景体验。这些特效能够提升网站的用户体验,增加互动性和吸引力,尤其适用于现代、时尚或者创意类的网站设计。 1. ...

    HTML5 Canvas透明丝带飘动背景动画特效

    在这个特定的案例中,“HTML5 Canvas透明丝带飘动背景动画特效”是一个利用Canvas API实现的优雅视觉效果,它通过流动的线条来模拟丝带在空中飘动的情景,为网站增添了一种动态且梦幻的氛围。 首先,让我们深入了解...

    HTML5 Canvas核心技术源码技术代码

    HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas核心技术源码技术代码、图形、动画与游戏开发。 Canvas开发、入门学习Canvas技术代码。 HTML5 Canvas...

Global site tag (gtag.js) - Google Analytics