phaser/wip/Phaser.js

568 lines
10 KiB
JavaScript
Raw Normal View History

2013-10-01 12:54:29 +00:00
/**
* @author Richard Davey <rich@photonstorm.com>
2016-04-04 21:15:01 +00:00
* @copyright 2016 Photon Storm Ltd.
2013-10-01 12:54:29 +00:00
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
*/
2016-10-19 16:17:26 +00:00
// "First do it, then do it right, then do it better" - Addy Osmani
/**
* @namespace Phaser
*/
2016-08-25 12:03:41 +00:00
var Phaser = Phaser || { // jshint ignore:line
2015-07-22 14:31:30 +00:00
/**
* The Phaser version number.
* @constant
* @type {string}
*/
VERSION: '3.0.0.r6',
2015-07-21 14:19:21 +00:00
2015-07-22 14:31:30 +00:00
/**
* An array of Phaser game instances.
* @constant
* @type {array}
*/
2015-07-21 14:19:21 +00:00
GAMES: [],
2015-07-22 14:31:30 +00:00
/**
* AUTO renderer - picks between WebGL or Canvas based on device.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
AUTO: 0,
2015-07-22 14:31:30 +00:00
/**
* Canvas Renderer.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
CANVAS: 1,
2015-07-22 14:31:30 +00:00
/**
* WebGL Renderer.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
WEBGL: 2,
2015-07-22 14:31:30 +00:00
/**
* Headless renderer (not visual output)
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
HEADLESS: 3,
/**
* WebGL Renderer with MultiTexture support enabled.
* @constant
* @type {integer}
*/
WEBGL_MULTI: 4,
2015-07-22 14:31:30 +00:00
/**
* Direction constant.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
NONE: 0,
2015-07-22 14:31:30 +00:00
/**
* Direction constant.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
LEFT: 1,
2015-07-22 14:31:30 +00:00
/**
* Direction constant.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
RIGHT: 2,
2015-07-22 14:31:30 +00:00
/**
* Direction constant.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
UP: 3,
2015-07-22 14:31:30 +00:00
/**
* Direction constant.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
DOWN: 4,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
SPRITE: 0,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
BUTTON: 1,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
IMAGE: 2,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
GRAPHICS: 3,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
TEXT: 4,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
TILESPRITE: 5,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
BITMAPTEXT: 6,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
GROUP: 7,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
RENDERTEXTURE: 8,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
TILEMAP: 9,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
TILEMAPLAYER: 10,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
EMITTER: 11,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
POLYGON: 12,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
BITMAPDATA: 13,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
CANVAS_FILTER: 14,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
WEBGL_FILTER: 15,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
ELLIPSE: 16,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
SPRITEBATCH: 17,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-03-23 08:43:27 +00:00
RETROFONT: 18,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
POINTER: 19,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2014-07-15 16:40:40 +00:00
ROPE: 20,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2015-02-17 16:39:49 +00:00
CIRCLE: 21,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2015-02-17 16:39:49 +00:00
RECTANGLE: 22,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2015-02-17 16:39:49 +00:00
LINE: 23,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2015-02-17 16:39:49 +00:00
MATRIX: 24,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2015-02-17 16:39:49 +00:00
POINT: 25,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2015-02-17 16:39:49 +00:00
ROUNDEDRECTANGLE: 26,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
CREATURE: 27,
2015-07-22 14:31:30 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
2015-05-03 12:26:46 +00:00
VIDEO: 28,
2013-09-23 21:23:17 +00:00
/**
* Game Object type.
* @constant
* @type {integer}
*/
PENDING_ATLAS: -1,
/**
* A horizontal orientation
* @constant
* @type {integer}
*/
HORIZONTAL: 0,
/**
* A vertical orientation
* @constant
* @type {integer}
*/
VERTICAL: 1,
/**
* A landscape orientation
* @constant
* @type {integer}
*/
LANDSCAPE: 0,
/**
* A portrait orientation
* @constant
* @type {integer}
*/
PORTRAIT: 1,
/**
* The Angle (in degrees) a Game Object needs to be set to in order to face up.
* @constant
* @type {integer}
*/
ANGLE_UP: 270,
/**
* The Angle (in degrees) a Game Object needs to be set to in order to face down.
* @constant
* @type {integer}
*/
ANGLE_DOWN: 90,
/**
* The Angle (in degrees) a Game Object needs to be set to in order to face left.
* @constant
* @type {integer}
*/
ANGLE_LEFT: 180,
/**
* The Angle (in degrees) a Game Object needs to be set to in order to face right.
* @constant
* @type {integer}
*/
ANGLE_RIGHT: 0,
/**
* The Angle (in degrees) a Game Object needs to be set to in order to face north east.
* @constant
* @type {integer}
*/
ANGLE_NORTH_EAST: 315,
/**
* The Angle (in degrees) a Game Object needs to be set to in order to face north west.
* @constant
* @type {integer}
*/
ANGLE_NORTH_WEST: 225,
/**
* The Angle (in degrees) a Game Object needs to be set to in order to face south east.
* @constant
* @type {integer}
*/
ANGLE_SOUTH_EAST: 45,
/**
* The Angle (in degrees) a Game Object needs to be set to in order to face south west.
* @constant
* @type {integer}
*/
ANGLE_SOUTH_WEST: 135,
/**
* A constant representing a top-left alignment or position.
* @constant
* @type {integer}
*/
TOP_LEFT: 0,
/**
* A constant representing a top-center alignment or position.
* @constant
* @type {integer}
*/
TOP_CENTER: 1,
/**
* A constant representing a top-right alignment or position.
* @constant
* @type {integer}
*/
TOP_RIGHT: 2,
/**
* A constant representing a left-top alignment or position.
* @constant
* @type {integer}
*/
LEFT_TOP: 3,
/**
* A constant representing a left-center alignment or position.
* @constant
* @type {integer}
*/
LEFT_CENTER: 4,
/**
* A constant representing a left-bottom alignment or position.
* @constant
* @type {integer}
*/
LEFT_BOTTOM: 5,
/**
* A constant representing a center alignment or position.
* @constant
* @type {integer}
*/
CENTER: 6,
/**
* A constant representing a right-top alignment or position.
* @constant
* @type {integer}
*/
RIGHT_TOP: 7,
/**
* A constant representing a right-center alignment or position.
* @constant
* @type {integer}
*/
RIGHT_CENTER: 8,
/**
* A constant representing a right-bottom alignment or position.
* @constant
* @type {integer}
*/
RIGHT_BOTTOM: 9,
/**
* A constant representing a bottom-left alignment or position.
* @constant
* @type {integer}
*/
BOTTOM_LEFT: 10,
/**
* A constant representing a bottom-center alignment or position.
* @constant
* @type {integer}
*/
BOTTOM_CENTER: 11,
/**
* A constant representing a bottom-right alignment or position.
* @constant
* @type {integer}
*/
BOTTOM_RIGHT: 12,
/**
* A constant representing a no-operation function
* @constant
* @type {function}
*/
NOOP: function () {},
2015-02-17 15:47:50 +00:00
/**
* Various blend modes supported by Pixi.
*
* IMPORTANT: The WebGL renderer only supports the NORMAL, ADD, MULTIPLY and SCREEN blend modes.
*
* @constant
* @property {Number} blendModes.NORMAL
* @property {Number} blendModes.ADD
* @property {Number} blendModes.MULTIPLY
* @property {Number} blendModes.SCREEN
* @property {Number} blendModes.OVERLAY
* @property {Number} blendModes.DARKEN
* @property {Number} blendModes.LIGHTEN
* @property {Number} blendModes.COLOR_DODGE
* @property {Number} blendModes.COLOR_BURN
* @property {Number} blendModes.HARD_LIGHT
* @property {Number} blendModes.SOFT_LIGHT
* @property {Number} blendModes.DIFFERENCE
* @property {Number} blendModes.EXCLUSION
* @property {Number} blendModes.HUE
* @property {Number} blendModes.SATURATION
* @property {Number} blendModes.COLOR
* @property {Number} blendModes.LUMINOSITY
* @static
*/
2014-03-23 08:43:27 +00:00
blendModes: {
NORMAL: 0,
ADD: 1,
MULTIPLY: 2,
SCREEN: 3,
OVERLAY: 4,
DARKEN: 5,
LIGHTEN: 6,
COLOR_DODGE: 7,
COLOR_BURN: 8,
HARD_LIGHT: 9,
SOFT_LIGHT: 10,
DIFFERENCE: 11,
EXCLUSION: 12,
HUE: 13,
SATURATION: 14,
COLOR: 15,
LUMINOSITY: 16
2014-03-23 08:43:27 +00:00
},
2015-02-17 15:47:50 +00:00
/**
* The scale modes that are supported by Pixi.
*
* The DEFAULT scale mode affects the default scaling mode of future operations.
* It can be re-assigned to either LINEAR or NEAREST, depending upon suitability.
*
* @constant
* @property {Object} Phaser.scaleModes
* @property {Number} scaleModes.DEFAULT=LINEAR
* @property {Number} scaleModes.LINEAR Smooth scaling
* @property {Number} scaleModes.NEAREST Pixelating scaling
* @static
*/
2014-03-23 08:43:27 +00:00
scaleModes: {
DEFAULT: 0,
LINEAR: 0,
NEAREST: 1
},
Component: {},
GameObject: {},
Renderer: {},
tempMatrix: null
2015-07-22 14:31:30 +00:00
};
// "Anybody who doesnt change their mind a lot is
// dramatically underestimating the complexity of
// the world we live in.” - Jeff Bezos
// Remove when ready
var PIXI = PIXI || {};