canvas教程

HTML5技术里面的canvas如何绘制星空效果

字号+ 作者:H5之家 来源:H5之家 2015-10-04 18:13 我要评论( )

HTML5技术里面的canvas如何绘制星空效果lt;htmlgt; lt;headgt; lt;titlegt;canvas绘制星空效果lt;#47;titlegt; lt;META http-equiv=quot;X-UA-Compatiblequot; c

<html> <head> <title>canvas绘制星空效果</title> <META http-equiv="X-UA-Compatible" content="IE=edge"></META> <META http-equiv="Content-Type" content="text/html; charset=gb2312"/> <script> var BW = 800; //canvas width var BH = 600; //canvas height var MAX_STAR_SIZE = 3; var MAX_STAR_SPEED = 1; var STAR_COUNT = 120; var BGCOLOR = "black"; var ctx; var stars = []; function rndf(n){ return Math.floor(Math.random()*n); } function rndc(n){ return Math.ceil(Math.random()*n); } function Star(){ this.reset = function(){ this.x = 0; this.y = rndf(BH); this.size = rndc(MAX_STAR_SIZE); this.vx = MAX_STAR_SPEED*this.size/MAX_STAR_SIZE; this.vy = 0; this.color = "rgba("+rndf(255)+", "+rndf(255)+", "+rndf(255)+", 0.5)"; }; this.reset(); this.x = rndf(BW); } function render(){ ctx.globalCompositeOperation = "source-over"; ctx.fillStyle = "rgba(0, 0, 0, 0.3)"; ctx.fillRect(0, 0, BW, BH); ctx.globalCompositeOperation = "lighter"; for(var i = 0; i < STAR_COUNT; ++i){ var p = stars[i]; ctx.beginPath(); var gradient = ctx.createRadialGradient(p.x, p.y, 0, p.x, p.y, p.size); gradient.addColorStop(0, "white"); gradient.addColorStop(0.4, "white"); gradient.addColorStop(0.4, p.color); gradient.addColorStop(1, "black"); ctx.fillStyle = gradient; ctx.arc(p.x, p.y, p.size, Math.PI*2, false); ctx.fill(); p.x += p.vx; p.y += p.vy; if(p.x<=0 || p.x>=BW || p.y<=0 || p.y>=BH){ p.reset(); } } } function init(){ if (!window.console) { console = {log:function(){},debug:function(){}}; } //create canvas var cv = document_createElement_x('canvas'); cv.width = BW; cv.height = BH; cv.style.background = BGCOLOR; document.body.a(cv); ctx = cv.getContext("2d"); //create all stars for(var i=0;i<STAR_COUNT;++i){ var s = new Star(); stars.push(s); } setInterval(render, 33); }; </script> </head> <body onLoad="init()"> </body> </html> 原文来自:

评论 |

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • html5canvas核心技术图形、动画与游戏开发源码

    html5canvas核心技术图形、动画与游戏开发源码

    2017-05-02 17:42

  • 打印html5中Canvas的方法

    打印html5中Canvas的方法

    2017-05-01 15:03

  • HTML5+Canvas调用手机拍照功能实现图片上传(下)

    HTML5+Canvas调用手机拍照功能实现图片上传(下)

    2017-04-30 17:00

  • HTML5新特性详解(三)

    HTML5新特性详解(三)

    2017-04-30 16:03

网友点评