Source: extended/FixedBoxCollider.js

/**
 * @author Inateno / http://inateno.com / http://dreamirl.com
 */

/**
 * @constructor FixedBoxCollider
 * @class Create a box collider (can't rotate)
 * @augments Collider
 * @param {int} width - box width
 * @param {int} height - box height
 * @param {object} params - Optional parameters (offets)
 * @example // classic GameObject declaration
 * var myObject = new DE.GameObject( {
 *   x: 150, y: 200,
 *   collider: new DE.FixedBoxCollider( 150, 100 )
 * } );
 * @example // adding a collider later
 * myObject.collider = new DE.FixedBoxCollider( 150, 100 );
 */
define( [ 'DE.Collider', 'DE.COLORS', 'DE.CONFIG', 'DE.CanvasBuffer' ],
function( Collider, COLORS, CONFIG, CanvasBuffer )
{
  function FixedBoxCollider( width, height, params )
  {
    params = params || {};
    params.type = CONFIG.COLLISION_TYPE.FIXED_BOX;
    
    Collider.call( this, params );
    
    var _points    = new Array();
    var _inCircles = new Array();
    var _extCircle = new Array();
    
    this.width  = width || 1;
    this.height = height || 1;

    this.localPosition.x -= this.width * 0.5;
    this.localPosition.y -= this.height * 0.5;
    
    this.createDebugRenderer = function()
    {
      this.debugBuffer = new CanvasBuffer( this.width, this.height );
      this.debugBuffer.ctx.lineWidth = 2;
      this.debugBuffer.ctx.strokeStyle = COLORS.DEBUG.COLLIDER;
      this.debugBuffer.ctx.strokeRect( 0, 0, this.width, this.height );
    }
    
    // only for fixed box collider
    this.getColliderPoints = function()
    {
      var pos = this.gameObject.getPos();
      return {
        'top': pos.y + this.localPosition.y
        ,'left': pos.x + this.localPosition.x
        ,'right': pos.x + this.localPosition.x + this.width
        ,'bottom': pos.y + this.localPosition.y + this.height
      };
    }
    
    if ( CONFIG.DEBUG_LEVEL > 1 )
      this.createDebugRenderer();
  }

  FixedBoxCollider.prototype = new Collider();
  FixedBoxCollider.prototype.constructor = FixedBoxCollider;
  FixedBoxCollider.prototype.supr        = Collider.prototype;
  FixedBoxCollider.prototype.DEName      = "FixedBoxCollider";
  
  CONFIG.debug.log( "FixedBoxCollider loaded", 3 );
  return FixedBoxCollider;
} );
Dreamirl Copyright © 2014 And the contributors
Documentation generated by JSDoc 3.2.2 on Thu Apr 24 2014 11:56:40 GMT+0200 (CEST) using the DocStrap template.