<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Lores Test</title> <script src="jquery-1.10.1.min.js"></script> <script src="jquery-migrate-1.2.1.min.js"></script> <script src="lores.js"></script> <style> html,body{margin: 0; padding: 0; background: #eee;} #display { margin: 10px auto; width: 512px; height: 512px; padding: 0; position: relative; } #display div { position: absolute; left: 0; top: 0; width: 100%; height: 100%; padding: 0; margin: 0; } </style> <script> var disp; var anim; var keys; var spriteMap; var spritePool; var spriteAlien; var spriteFlower; var ROWS = 32; var COLS = 32; var FPS = 40; $(document).ready(function(){ rebuildDisplay(); }); function rebuildDisplay() { disp = new LoresDisplay( '#scene', { cols: COLS, rows: ROWS, colors: { 1: "lime", 2: "red", 3: "white", 4: "yellow", }, bg: 'black', } ); anim = new LoresAnimator({ init: animInit, frame: animFrame, fps: FPS, }); keys = new LoresKeyboard(); anim.start(); spriteMap = disp.getMap(); spriteMap.autoFlush(false); var alienPm = LoresPixmap.fromString( " # # ," + " ##### ," + " # # # ," + " ####### ," + "## # # ##,", {'#': 1, 'x': 2} ); var flowerPm = LoresPixmap.fromString( " oo ," + "oCCo," + "oCCo," + " oo ,", {'o': 4, 'C': 3} ); spritePool = new LoresSpritePool(spriteMap); spriteAlien = new LoresSprite({ map: alienPm, x: 10, y: 10, z: 0 }); spriteFlower = new LoresSprite({ map: flowerPm, x: 18, y: 15, z: 1 }); spritePool.addSprite(spriteAlien); spritePool.addSprite(spriteFlower); } function animInit() { keys.setDownHandler(function(key) { switch(key) { case LKey.LEFT: spriteAlien.scheduleMove(-1, 0); break; case LKey.RIGHT: spriteAlien.scheduleMove(1, 0); break; case LKey.UP: spriteAlien.scheduleMove(0, -1); break; case LKey.DOWN: spriteAlien.scheduleMove(0, 1); break; case LKey.SPACE: console.log( "-- collision check --\n" + " * RECT: " + (spriteAlien.collidesWith(spriteFlower)?"true":"false") + "\n" + " * PIXELS: " + (spriteAlien.collidesWith(spriteFlower, true)?"true":"false") + "\n" ); break; } }); } function animFrame(time) { spritePool.eraseOnMap(true); spritePool.moveSprites(); spritePool.drawOnMap(true); spriteMap.flush(); } </script> </head> <body> <div id="display"> <div id="scene"></div> </div> <body> </html>