1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)var sprites = (function() { 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var objs; 7c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var width; 8c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var height; 9c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var SPRITE_SPEED = 2; 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var sprites = {}; 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) sprites.init = function(w, h) { 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) objs = []; 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) width = w; 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) height = h; 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }; 17c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) sprites.add = function(img) { 18c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var obj = { img: img, 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) x: Math.random() * (width - img.width), 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) y: Math.random() * (height - img.height), 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) dx: SPRITE_SPEED * (Math.random() < .5 ? -1 : 1), 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) dy: SPRITE_SPEED * (Math.random() < .5 ? -1 : 1) }; 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) objs.push(obj); 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }; 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) sprites.draw = function(context) { 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) for (var i = 0, len = objs.length; i < len; ++i) { 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) var obj = objs[i]; 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) obj.x += obj.dx; 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if ((obj.x > (width - obj.img.width)) || (obj.x < 0)) 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) obj.dx *= -1; 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) obj.y += obj.dy; 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if ((obj.y > (height - obj.img.height)) || (obj.y < 0)) 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) obj.dy *= -1; 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) context.drawImage(obj.img, obj.x, obj.y); 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }; 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) }; 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return sprites; 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)})(); 42