SHARE
TWEET

Untitled

a guest Dec 22nd, 2014 1,338 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <canvas id="ctx" width="500" height="500" style="border:1px solid #000000;"></canvas>
  2.  
  3. <script>
  4. var ctx = document.getElementById("ctx").getContext("2d");
  5. ctx.font = '30px Arial';
  6.  
  7. var HEIGHT = 500;
  8. var WIDTH = 500;
  9. var message = 'Bouncing';
  10.  
  11. var player = {
  12.         x:50,
  13.         spdX:30,
  14.         y:40,
  15.         spdY:5,
  16.         name:'P',      
  17. };
  18.  
  19. var enemyList = {};
  20.  
  21. Enemy('E1',150,350,10,15);
  22. Enemy('E2',250,350,10,-15);
  23. Enemy('E3',250,150,10,-8);
  24.  
  25.  
  26. function getDistanceBetweenEntity(entity1,entity2){     //return distance (number)
  27.         var vx = entity1.x - entity2.x;
  28.         var vy = entity1.y - entity2.y;
  29.         return Math.sqrt(vx*vx+vy*vy);
  30. }
  31.  
  32. function testCollisionEntity(entity1,entity2){  //return if colliding (true/false)
  33.         var distance = getDistanceBetweenEntity(entity1,entity2);
  34.         return distance < 30;
  35. }
  36.  
  37. function Enemy(id,x,y,spdX,spdY){
  38.         var enemy3 = {
  39.                 x:x,
  40.                 spdX:spdX,
  41.                 y:y,
  42.                 spdY:spdY,
  43.                 name:'E',
  44.                 id:id,
  45.         };
  46.         enemyList[id] = enemy3;
  47. }
  48.  
  49.  
  50.  
  51. setInterval(update,40);
  52.  
  53. function updateEntity(something){
  54.         something.x += something.spdX;
  55.         something.y += something.spdY;
  56.         ctx.fillText(something.name,something.x,something.y);
  57.                
  58.                
  59.         if(something.x < 0 || something.x > WIDTH){
  60.                 something.spdX = -something.spdX;
  61.         }
  62.         if(something.y < 0 || something.y > HEIGHT){
  63.                 something.spdY = -something.spdY;
  64.         }
  65. }
  66.  
  67.  
  68. function update(){
  69.         ctx.clearRect(0,0,WIDTH,HEIGHT);
  70.        
  71.         for(var key in enemyList){
  72.                 updateEntity(enemyList[key]);
  73.                
  74.                 var isColliding = testCollisionEntity(player,enemyList[key]);
  75.                 if(isColliding){
  76.                         console.log('Colliding!');
  77.                 }
  78.                
  79.         }
  80.        
  81.         updateEntity(player);
  82.        
  83.        
  84.        
  85. }
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92. </script>
RAW Paste Data
Pastebin PRO Summer Special!
Get 40% OFF on Pastebin PRO accounts!
Top