Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
    <style>
        canvas {
            border:1px solid #444;
        }
    </style>
  <!--[if IE]><script type="text/javascript" src="http://jimmyinteractive.com/games/Lib/excanvas.js"></script><![endif]-->
  
</head>
<body onload="load();">
    <h1>Bounce(Gavity) an Image</h1>
  <p>We will now bounce our image around the screen. Follow the steps below</p>
  
  <ol>
      <li>Change some of the velocites
        <pre>
        var xVol = 9;
        </pre>
    </li>
     <li>Change the setTimeout
     
    </li>
     <li>Change the gravity
     
    </li>
    
           <li>Lets try something, comment out the ctx.clearRect function by placing two slashes in front of it.
      <pre>
     // ctx.clearRect(0, 0, canvas.width, canvas.height); </pre>
    </li>
  <canvas id="cv" width="400" height="600"></canvas>
 
 
</body>
</html>
 
var canvas;
var ctx;
var x = 0;
var y = 0;
var xVol = 3;
var yVol = 1;
var img = new Image();
function load() {
     
    canvas = document.getElementById("cv");
    ctx = canvas.getContext("2d");
    img.src = 'http://goo.gl/KXVpTD';
 
    loop();
}
function loop() {
  
  //update velocity
  x= x + xVol;
  y= y + yVol;
  
  //gravity
  yVol= yVol  * 0.98 + 3;
  
  //bounce off wall
  if(x > 350) xVol =  xVol *-1;
  if(y > 550) yVol = yVol *-1;
  if(x < 0) xVol = xVol *-1;
  if(y < 0) yVol = yVol *-1;
  
  
  //clear
  ctx.clearRect(0, 0, canvas.width, canvas.height);
 
  //draw image
   ctx.drawImage(img,x,y);
 
  //repeat
  setTimeout(loop, 30);
}
   
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
jamesfdickinsonpro
0viewers