Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $(document).ready(function(){  
  2.                                                        
  3.     (function ($) {        
  4.             // The canvas element we are drawing into.      
  5.             var $canvas = $('#canvas');
  6.             var $canvas2 = $('#canvas2');
  7.             var $canvas3 = $('#canvas3');          
  8.             var ctx2 = $canvas2[0].getContext('2d');
  9.             var ctx = $canvas[0].getContext('2d');
  10.             var w = $canvas[0].width, h = $canvas[0].height;       
  11.             var img = new Image(); 
  12.            
  13.             // A puff.
  14.             var Puff = function(p) {               
  15.                 var opacity,
  16.                     sy = (Math.random()*285)>>0,
  17.                     sx = (Math.random()*285)>>0;
  18.                
  19.                 this.p = p;
  20.                        
  21.                 this.move = function(timeFac) {                    
  22.                     p = this.p + 0.3 * timeFac;            
  23.                     opacity = (Math.sin(p*0.05)*0.5);                      
  24.                     if(opacity <0) {
  25.                         p = opacity = 0;
  26.                         sy = (Math.random()*285)>>0;
  27.                         sx = (Math.random()*285)>>0;
  28.                     }                                              
  29.                     this.p = p;                                                                        
  30.                     ctx.globalAlpha = opacity;                     
  31.                     ctx.drawImage($canvas3[0], sy+p, sy+p, 285-(p*2),285-(p*2), 0,0, w, h);                            
  32.                 };
  33.             };
  34.            
  35.             var puffs = [];        
  36.             var sortPuff = function(p1,p2) { return p1.p-p2.p; };  
  37.             puffs.push( new Puff(0) );
  38.             puffs.push( new Puff(20) );
  39.             puffs.push( new Puff(40) );
  40.            
  41.             var newTime, oldTime = 0, timeFac;
  42.                    
  43.             var loop = function()
  44.             {                              
  45.                 newTime = new Date().getTime();            
  46.                 if(oldTime === 0 ) {
  47.                     oldTime=newTime;
  48.                 }
  49.                 timeFac = (newTime-oldTime) * 0.1;
  50.                 if(timeFac>3) {timeFac=3;}
  51.                 oldTime = newTime;                     
  52.                 puffs.sort(sortPuff);                          
  53.                
  54.                 for(var i=0;i<puffs.length;i++)
  55.                 {
  56.                     puffs[i].move(timeFac);
  57.                 }                  
  58.                 ctx2.drawImage( $canvas[0] ,0,0,570,570);              
  59.                 setTimeout(loop, 10 );             
  60.             };
  61.             // Turns out Chrome is much faster doing bitmap work if the bitmap is in an existing canvas rather
  62.             // than an IMG, VIDEO etc. So draw the big nebula image into canvas3
  63.             var $canvas3 = $('#canvas3');
  64.             var ctx3 = $canvas3[0].getContext('2d');
  65.             $(img).bind('load',null, function() {  ctx3.drawImage(img, 0,0, 570, 570);  loop(); });
  66.             img.src = '/images/nebula/nebula.jpg';
  67.        
  68.     })(jQuery);  
  69. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement