glazz

Model vision in a 2D world.

npm install glazz
4 downloads in the last week
16 downloads in the last month

Glazz

Model vision in a 2D world.

Get the code

npm

To install npm, visit https://github.com/isaacs/npm

Install Glazz

$ npm install glazz

Git

$ git clone git://github.com/maryrosecook/glazz.git

Import the code

node

var SolidityMap = require('solidityMap').SolidityMap;
var Glazz = require('glazz').glazz;

Browser

<script type="text/javascript" src="glazz.js"></script>
<script type="text/javascript" src="solidityMap.js"></script>
<script type="text/javascript" src="raytracer.js"></script>
<script type="text/javascript" src="eyes.js"></script>

Documentation

See /index.html

Example

Require SolidityMap. Instantiate it, passing in the width and height of your world. This initialises every solidity map cell to 0, the empty material value.

var SolidityMap = require('src/solidityMap').SolidityMap;
var sm = new SolidityMap(10, 10);

Define an Obj constructor that includes getPosition(), getSize() and getMaterial() accessors. Use it to instantiate the actor, the object that will have eyes.

var Obj = function(posX, posY, sizeX, sizeY) {
  this.pos = { x:posX, y:posY };
  this.size = { x:sizeX, y:sizeY };

  this.getPosition = function() {
    return this.pos;
  },

  this.getSize = function() {
    return this.size;
  },

  this.getMaterial = function() {
    return 1;
  }
}

var actor = new Obj(1, 1, 1, 1);

Give the actor eyes.

var eyes = new Eyes(actor, sm);

Instantiate an object for the actor to look at. Put it in the solidity map.

var obj = new Obj(3, 3, 1, 1);
sm.updateObj(obj);

Make the actor look at the object. See that he sees.

var lookEndpoint = eyes.lookAt(obj);
console.log(lookEndpoint.obj === obj); // => true

The object moves. Update the solidity map with its new position.

obj.pos = { x:4, y:4 };
sm.clearMaterial(obj.getMaterial());
sm.updateObj(obj);

Run the tests

Install Node.js and npm: https://github.com/isaacs/npm

Install the node dependencies and run the tests with:

$ cd path/to/glazz
$ npm install
$ npm test
npm loves you