js实现canvas银河系行星旋转轨迹动画效果代码
代码语言:html
所属分类:动画
代码描述:js实现canvas银河系行星旋转轨迹动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <title></title> <style> body { overflow: hidden; } canvas { position: absolute; top: 0; left: 0; background-color: black; } a { width: 200px; height: 200px; position: absolute; left: calc( 100% - 200px ); top: calc( 100% - 130px ); } img { width: 200px; } </style> </head> <body> <canvas id="c"></canvas> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/dat.gui-min.js"></script> <script> var w = c.width = window.innerWidth, h = c.height = window.innerHeight, ctx = c.getContext( '2d' ), opts = { lineCount: 100, starCount: 30, radVel: .01, lineBaseVel: .1, lineAddedVel: .1, lineBaseLife: .4, lineAddedLife: .01, starBaseLife: 10, starAddedLife: 10, ellipseTilt: -.3, ellipseBaseRadius: .15, ellipseAddedRadius: .02, ellipseAxisMultiplierX: 2, ellipseAxisMultiplierY: 1, ellipseCX: w / 2, ellipseCY: h / 2, repaintAlpha: .015 }, gui = new dat.GUI, lines = [], stars = [], tick = 0, first = true; function init() { lines.length = stars.length = 0; ctx.globalCompositeOperation = 'source-over'; ctx.fillStyle = '#333'; ctx.fillRect( 0, 0, w, h ); if( first ) { var f = gui.addFolder( 'logics' ); f.add( opts, 'lineCount', 1, 300 ); f.add( opts, 'starCount', 1, 300 ); f.add( opts, 'radVel', 0, 1 ); f.add( opts, 'lineBaseVel', .01, 1 ); f.add( opts, 'lineAddedVel', 0, 1 ); f.add( opts, 'lineBaseLife', 0, 1 ); f.add( opts, 'lineAddedLife', 0, 1 ); f.add( opts, 'starBaseLife', 0, 100 ); f.add( opts, 'starAddedLife', 0, 100 ); f = gui.addFolder( 'graphics' ); f.add( opts,.........完整代码请登录后点击上方下载按钮下载查看
网友评论0