diff --git a/bin/pixi.dev.js b/bin/pixi.dev.js index bed7ed4..3ab71cc 100644 --- a/bin/pixi.dev.js +++ b/bin/pixi.dev.js @@ -1,4 +1,15 @@ /** + * @license + * Pixi.JS - v1.0.0 + * Copyright (c) 2012, Mat Groves + * http://goodboydigital.com/ + * + * Compiled: 2013-04-06 + * + * Pixi.JS is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license.php + */ +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -6,6 +17,7 @@ @module PIXI */ var PIXI = PIXI || {}; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -46,6 +58,7 @@ // constructor PIXI.Point.constructor = PIXI.Point; + /** * @author Mat Groves http://matgroves.com/ */ @@ -102,6 +115,7 @@ // constructor PIXI.Rectangle.constructor = PIXI.Rectangle; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -211,7 +225,7 @@ // Cache the matrix values (makes for huge speed increases!) var a00 = localTransform[0], a01 = localTransform[1], a02 = localTransform[2], - a10 = localTransform[3], a11 = localTransform[4], a12 = localTransform[5]; + a10 = localTransform[3], a11 = localTransform[4], a12 = localTransform[5], b00 = parentTransform[0], b01 = parentTransform[1], b02 = parentTransform[2], b10 = parentTransform[3], b11 = parentTransform[4], b12 = parentTransform[5]; @@ -228,6 +242,7 @@ // mat3.multiply(this.localTransform, this.parent.worldTransform, this.worldTransform); this.worldAlpha = this.alpha * this.parent.worldAlpha; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -367,6 +382,7 @@ this.children[i].updateTransform(); } } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -586,6 +602,7 @@ return new PIXI.Sprite(texture); } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -685,7 +702,8 @@ this.currentFrame += this.animationSpeed; var round = (this.currentFrame + 0.5) | 0; this.setTexture(this.textures[round % this.textures.length]); -}/** +} +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -844,7 +862,7 @@ tempPoint.y = a00 * id * global.y + -a10 * id * global.x + (-a12 * a00 + a02 * a10) * id; - var x1 = -item.width * item.anchor.x + var x1 = -item.width * item.anchor.x; if(tempPoint.x > x1 && tempPoint.x < x1 + item.width) { @@ -1046,6 +1064,7 @@ PIXI.InteractionData.constructor = PIXI.InteractionData; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1148,6 +1167,7 @@ } } } + /** * Provides requestAnimationFrame in a cross browser way. */ @@ -1224,6 +1244,7 @@ + /** * https://github.com/mrdoob/eventtarget.js/ * THankS mr DOob! @@ -1233,7 +1254,7 @@ var listeners = {}; - this.addEventListener = function ( type, listener ) { + this.addEventListener = this.on = function ( type, listener ) { if ( listeners[ type ] === undefined ) { @@ -1249,7 +1270,7 @@ }; - this.dispatchEvent = function ( event ) { + this.dispatchEvent = this.emit = function ( event ) { for ( var listener in listeners[ event.type ] ) { @@ -1259,7 +1280,7 @@ }; - this.removeEventListener = function ( type, listener ) { + this.removeEventListener = this.off = function ( type, listener ) { var index = listeners[ type ].indexOf( listener ); @@ -1274,6 +1295,7 @@ }; + /* * A lighter version of the rad gl-matrix created by Brandon Jones, Colin MacKenzie IV * you both rock! @@ -1504,6 +1526,7 @@ return dest; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1516,8 +1539,10 @@ * @param width {Number} the width of the renderers view * @param height {Number} the height of the renderers view * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false */ -PIXI.autoDetectRenderer = function(width, height, view) +PIXI.autoDetectRenderer = function(width, height, view, transparent) { if(!width)width = 800; if(!height)height = 600; @@ -1528,14 +1553,15 @@ //console.log(webgl); if( webgl ) { - return new PIXI.WebGLRenderer(width, height, view); + return new PIXI.WebGLRenderer(width, height, view, transparent); } - return new PIXI.CanvasRenderer(width, height, view); + return new PIXI.CanvasRenderer(width, height, view, transparent); }; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1603,7 +1629,8 @@ } return shader; -}/** +} +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1619,16 +1646,21 @@ * @param height {Number} the height of the canvas view * @default 0 * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false + * */ -PIXI.WebGLRenderer = function(width, height, view) +PIXI.WebGLRenderer = function(width, height, view, transparent) { + //console.log(transparent) + this.transparent = !!transparent; + this.width = width || 800; this.height = height || 600; this.view = view || document.createElement( 'canvas' ); this.view.width = this.width; this.view.height = this.height; - this.view.background = "#FF0000"; // deal with losing context.. var scope = this; @@ -1640,7 +1672,9 @@ try { this.gl = this.view.getContext("experimental-webgl", { - alpha: false + alpha: this.transparent, + antialias:false, // SPEED UP?? + premultipliedAlpha:false }); } catch (e) @@ -1656,7 +1690,7 @@ this.batch = new PIXI.WebGLBatch(gl); gl.disable(gl.DEPTH_TEST); gl.enable(gl.BLEND); - gl.colorMask(true, true, true, false); + gl.colorMask(true, true, true, this.transparent); this.projectionMatrix = PIXI.mat4.create(); this.resize(this.width, this.height) @@ -1790,7 +1824,8 @@ gl.clear(gl.COLOR_BUFFER_BIT) - gl.clearColor(stage.backgroundColorSplit[0], stage.backgroundColorSplit[1], stage.backgroundColorSplit[2], 1.0); + gl.clearColor(stage.backgroundColorSplit[0], stage.backgroundColorSplit[1], stage.backgroundColorSplit[2], 0); + // set the correct blend mode! gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); @@ -2294,6 +2329,7 @@ this.contextLost = false; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -2851,6 +2887,7 @@ gl.drawElements(gl.TRIANGLES, this.size * 6, gl.UNSIGNED_SHORT, 0); } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -2862,9 +2899,13 @@ * @param width {Number} the width of the canvas view * @param height {Number} the height of the canvas view * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false */ -PIXI.CanvasRenderer = function(width, height, view) +PIXI.CanvasRenderer = function(width, height, view, transparent) { + this.transparent = transparent; + /** * The width of the canvas view * @property width @@ -2928,7 +2969,7 @@ this.context.setTransform(1,0,0,1,0,0); // update the background color - if(this.view.style.backgroundColor!=stage.backgroundColorString)this.view.style.backgroundColor = stage.backgroundColorString; + if(this.view.style.backgroundColor!=stage.backgroundColorString && !this.transparent)this.view.style.backgroundColor = stage.backgroundColorString; this.context.clearRect(0, 0, this.width, this.height) this.renderDisplayObject(stage); @@ -3133,6 +3174,7 @@ + /** * @author Mat Groves http://matgroves.com/ */ @@ -3222,6 +3264,7 @@ } // some helper functions.. + /** * @author Mat Groves http://matgroves.com/ */ @@ -3397,6 +3440,7 @@ + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3489,6 +3533,7 @@ { } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3691,6 +3736,7 @@ return texture; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3793,6 +3839,7 @@ } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ diff --git a/bin/pixi.dev.js b/bin/pixi.dev.js index bed7ed4..3ab71cc 100644 --- a/bin/pixi.dev.js +++ b/bin/pixi.dev.js @@ -1,4 +1,15 @@ /** + * @license + * Pixi.JS - v1.0.0 + * Copyright (c) 2012, Mat Groves + * http://goodboydigital.com/ + * + * Compiled: 2013-04-06 + * + * Pixi.JS is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license.php + */ +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -6,6 +17,7 @@ @module PIXI */ var PIXI = PIXI || {}; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -46,6 +58,7 @@ // constructor PIXI.Point.constructor = PIXI.Point; + /** * @author Mat Groves http://matgroves.com/ */ @@ -102,6 +115,7 @@ // constructor PIXI.Rectangle.constructor = PIXI.Rectangle; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -211,7 +225,7 @@ // Cache the matrix values (makes for huge speed increases!) var a00 = localTransform[0], a01 = localTransform[1], a02 = localTransform[2], - a10 = localTransform[3], a11 = localTransform[4], a12 = localTransform[5]; + a10 = localTransform[3], a11 = localTransform[4], a12 = localTransform[5], b00 = parentTransform[0], b01 = parentTransform[1], b02 = parentTransform[2], b10 = parentTransform[3], b11 = parentTransform[4], b12 = parentTransform[5]; @@ -228,6 +242,7 @@ // mat3.multiply(this.localTransform, this.parent.worldTransform, this.worldTransform); this.worldAlpha = this.alpha * this.parent.worldAlpha; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -367,6 +382,7 @@ this.children[i].updateTransform(); } } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -586,6 +602,7 @@ return new PIXI.Sprite(texture); } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -685,7 +702,8 @@ this.currentFrame += this.animationSpeed; var round = (this.currentFrame + 0.5) | 0; this.setTexture(this.textures[round % this.textures.length]); -}/** +} +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -844,7 +862,7 @@ tempPoint.y = a00 * id * global.y + -a10 * id * global.x + (-a12 * a00 + a02 * a10) * id; - var x1 = -item.width * item.anchor.x + var x1 = -item.width * item.anchor.x; if(tempPoint.x > x1 && tempPoint.x < x1 + item.width) { @@ -1046,6 +1064,7 @@ PIXI.InteractionData.constructor = PIXI.InteractionData; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1148,6 +1167,7 @@ } } } + /** * Provides requestAnimationFrame in a cross browser way. */ @@ -1224,6 +1244,7 @@ + /** * https://github.com/mrdoob/eventtarget.js/ * THankS mr DOob! @@ -1233,7 +1254,7 @@ var listeners = {}; - this.addEventListener = function ( type, listener ) { + this.addEventListener = this.on = function ( type, listener ) { if ( listeners[ type ] === undefined ) { @@ -1249,7 +1270,7 @@ }; - this.dispatchEvent = function ( event ) { + this.dispatchEvent = this.emit = function ( event ) { for ( var listener in listeners[ event.type ] ) { @@ -1259,7 +1280,7 @@ }; - this.removeEventListener = function ( type, listener ) { + this.removeEventListener = this.off = function ( type, listener ) { var index = listeners[ type ].indexOf( listener ); @@ -1274,6 +1295,7 @@ }; + /* * A lighter version of the rad gl-matrix created by Brandon Jones, Colin MacKenzie IV * you both rock! @@ -1504,6 +1526,7 @@ return dest; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1516,8 +1539,10 @@ * @param width {Number} the width of the renderers view * @param height {Number} the height of the renderers view * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false */ -PIXI.autoDetectRenderer = function(width, height, view) +PIXI.autoDetectRenderer = function(width, height, view, transparent) { if(!width)width = 800; if(!height)height = 600; @@ -1528,14 +1553,15 @@ //console.log(webgl); if( webgl ) { - return new PIXI.WebGLRenderer(width, height, view); + return new PIXI.WebGLRenderer(width, height, view, transparent); } - return new PIXI.CanvasRenderer(width, height, view); + return new PIXI.CanvasRenderer(width, height, view, transparent); }; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1603,7 +1629,8 @@ } return shader; -}/** +} +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1619,16 +1646,21 @@ * @param height {Number} the height of the canvas view * @default 0 * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false + * */ -PIXI.WebGLRenderer = function(width, height, view) +PIXI.WebGLRenderer = function(width, height, view, transparent) { + //console.log(transparent) + this.transparent = !!transparent; + this.width = width || 800; this.height = height || 600; this.view = view || document.createElement( 'canvas' ); this.view.width = this.width; this.view.height = this.height; - this.view.background = "#FF0000"; // deal with losing context.. var scope = this; @@ -1640,7 +1672,9 @@ try { this.gl = this.view.getContext("experimental-webgl", { - alpha: false + alpha: this.transparent, + antialias:false, // SPEED UP?? + premultipliedAlpha:false }); } catch (e) @@ -1656,7 +1690,7 @@ this.batch = new PIXI.WebGLBatch(gl); gl.disable(gl.DEPTH_TEST); gl.enable(gl.BLEND); - gl.colorMask(true, true, true, false); + gl.colorMask(true, true, true, this.transparent); this.projectionMatrix = PIXI.mat4.create(); this.resize(this.width, this.height) @@ -1790,7 +1824,8 @@ gl.clear(gl.COLOR_BUFFER_BIT) - gl.clearColor(stage.backgroundColorSplit[0], stage.backgroundColorSplit[1], stage.backgroundColorSplit[2], 1.0); + gl.clearColor(stage.backgroundColorSplit[0], stage.backgroundColorSplit[1], stage.backgroundColorSplit[2], 0); + // set the correct blend mode! gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); @@ -2294,6 +2329,7 @@ this.contextLost = false; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -2851,6 +2887,7 @@ gl.drawElements(gl.TRIANGLES, this.size * 6, gl.UNSIGNED_SHORT, 0); } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -2862,9 +2899,13 @@ * @param width {Number} the width of the canvas view * @param height {Number} the height of the canvas view * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false */ -PIXI.CanvasRenderer = function(width, height, view) +PIXI.CanvasRenderer = function(width, height, view, transparent) { + this.transparent = transparent; + /** * The width of the canvas view * @property width @@ -2928,7 +2969,7 @@ this.context.setTransform(1,0,0,1,0,0); // update the background color - if(this.view.style.backgroundColor!=stage.backgroundColorString)this.view.style.backgroundColor = stage.backgroundColorString; + if(this.view.style.backgroundColor!=stage.backgroundColorString && !this.transparent)this.view.style.backgroundColor = stage.backgroundColorString; this.context.clearRect(0, 0, this.width, this.height) this.renderDisplayObject(stage); @@ -3133,6 +3174,7 @@ + /** * @author Mat Groves http://matgroves.com/ */ @@ -3222,6 +3264,7 @@ } // some helper functions.. + /** * @author Mat Groves http://matgroves.com/ */ @@ -3397,6 +3440,7 @@ + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3489,6 +3533,7 @@ { } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3691,6 +3736,7 @@ return texture; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3793,6 +3839,7 @@ } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ diff --git a/bin/pixi.js b/bin/pixi.js index b8ce5fd..fcfa0ab 100644 --- a/bin/pixi.js +++ b/bin/pixi.js @@ -1,103 +1,13 @@ -var PIXI=PIXI||{};PIXI.Point=function(a,b){this.x=a||0;this.y=b||0};PIXI.Point.clone=function(){return new PIXI.Point(this.x,this.y)};PIXI.Point.constructor=PIXI.Point;PIXI.Rectangle=function(a,b,c,d){this.x=a||0;this.y=b||0;this.width=c||0;this.height=d||0};PIXI.Rectangle.clone=function(){return new PIXI.Rectangle(this.x,this.y,this.width,this.height)};PIXI.Rectangle.constructor=PIXI.Rectangle; -PIXI.DisplayObject=function(){this.position=new PIXI.Point;this.scale=new PIXI.Point(1,1);this.rotation=0;this.alpha=1;this.visible=!0;this.cacheVisible=!1;this.stage=this.parent=null;this.worldAlpha=1;this.color=[];this.worldTransform=PIXI.mat3.create();this.localTransform=PIXI.mat3.create();this.dynamic=!0;this._sr=0;this._cr=1;this.renderable=!1;this.interactive=!0};PIXI.DisplayObject.constructor=PIXI.DisplayObject; -PIXI.DisplayObject.prototype.updateTransform=function(){this.rotation!=this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation));var a=this.localTransform,b=this.parent.worldTransform,c=this.worldTransform;a[0]=this._cr*this.scale.x;a[1]=-this._sr*this.scale.y;a[3]=this._sr*this.scale.x;a[4]=this._cr*this.scale.y;a[2]=this.position.x;a[5]=this.position.y;var d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],a=a[5];b00=b[0];b01=b[1];b02=b[2];b10=b[3]; -b11=b[4];b12=b[5];c[0]=b00*d+b01*g;c[1]=b00*e+b01*h;c[2]=b00*f+b01*a+b02;c[3]=b10*d+b11*g;c[4]=b10*e+b11*h;c[5]=b10*f+b11*a+b12;this.worldAlpha=this.alpha*this.parent.worldAlpha};PIXI.DisplayObjectContainer=function(){PIXI.DisplayObject.call(this);this.children=[];this.renderable=!1};PIXI.DisplayObjectContainer.constructor=PIXI.DisplayObjectContainer;PIXI.DisplayObjectContainer.prototype=Object.create(PIXI.DisplayObject.prototype); -PIXI.DisplayObjectContainer.prototype.addChild=function(a){void 0!=a.parent&&a.parent.removeChild(a);a.parent=this;a.childIndex=this.children.length;this.children.push(a);this.stage&&this.stage.__addChild(a)}; -PIXI.DisplayObjectContainer.prototype.addChildAt=function(a,b){if(0<=b&&b<=this.children.length){void 0!=a.parent&&a.parent.removeChild(a);b==this.children.length?this.children.push(a):this.children.splice(b,0,a);a.parent=this;a.childIndex=b;for(var c=this.children.length,d=b;dh&&b.xh&&b.y< -h+f.height))return a.local.x=b.x,a.local.y=b.y,f}}return null}; -PIXI.InteractionManager.prototype.onMouseMove=function(a){a.preventDefault();var b=this.target.view.getBoundingClientRect();this.mouse.global.x=(a.clientX-b.left)*(this.target.width/b.width);this.mouse.global.y=(a.clientY-b.top)*(this.target.height/b.height);a=this.hitTest(this.mouse);this.currentOver!=a&&(this.currentOver&&(this.mouse.target=this.currentOver,this.currentOver.mouseout&&this.currentOver.mouseout(this.mouse),this.currentOver=null),this.target.view.style.cursor="default");a&&this.currentOver!= -a&&(this.currentOver=a,this.target.view.style.cursor="pointer",this.mouse.target=a,a.mouseover&&a.mouseover(this.mouse))};PIXI.InteractionManager.prototype.onMouseDown=function(a){var b=this.target.view.getBoundingClientRect();this.mouse.global.x=(a.clientX-b.left)*(this.target.width/b.width);this.mouse.global.y=(a.clientY-b.top)*(this.target.height/b.height);if(a=this.hitTest(this.mouse))this.currentDown=a,this.mouse.target=a,a.mousedown&&a.mousedown(this.mouse)}; -PIXI.InteractionManager.prototype.onMouseUp=function(){this.currentOver&&(this.mouse.target=this.currentOver,this.currentOver.mouseup&&this.currentOver.mouseup(this.mouse));this.currentDown&&(this.mouse.target=this.currentDown,this.currentOver==this.currentDown&&this.currentDown.click&&this.currentDown.click(this.mouse),this.currentDown=null)}; -PIXI.InteractionManager.prototype.onTouchMove=function(a){a.preventDefault();var b=this.target.view.getBoundingClientRect();a=a.changedTouches;for(var c=0;c>16&255)/255,(a>>8&255)/255,(a&255)/255]} -"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;c.prototype=function g(a){a&&(g.prototype=a);if(!(this instanceof g))return new g}(d.prototype);return c}}()); -var AjaxRequest=function(){var a=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];if(window.ActiveXObject)for(var b=0;ba.length)){var b=this.uvs,c=this.indices,d=this.colors;this.count-=0.2;b[0]=0;b[1]=1;b[2]=0;b[3]=1;d[0]=1;d[1]=1;c[0]=0;c[1]=1;for(var a=a.length,e=1;ea.length)){var b=this.verticies,c=a[0],d,e=d=0,f=a[0];this.count-=0.2;b[0]=f.x+d;b[1]=f.y+e;b[2]=f.x-d;b[3]=f.y-e;for(var g=a.length,h=1;hthis.baseTexture.width||a.y+a.height>this.baseTexture.height)throw Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);}; -PIXI.Texture.fromImage=function(a,b){var c=PIXI.TextureCache[a];c||(c=PIXI.BaseTextureCache[a],c||(c=new Image,b&&(c.crossOrigin=""),c.src=a,c=new PIXI.BaseTexture(c),PIXI.BaseTextureCache[a]=c),c=new PIXI.Texture(c),PIXI.TextureCache[a]=c);return c};PIXI.Texture.fromFrame=function(a){var b=PIXI.TextureCache[a];if(!b)throw Error("The frameId '"+a+"' does not exist in the texture cache "+this);return b}; -PIXI.Texture.fromCanvas=function(a){var b=PIXI.TextureCache[a];b||(b=PIXI.BaseTextureCache[a],b||(b=new PIXI.BaseTexture(a),PIXI.BaseTextureCache[a]=b),b=new PIXI.Texture(b),PIXI.TextureCache[a]=b);return b};PIXI.Texture.addTextureToCache=function(a,b){PIXI.TextureCache[b]=a};PIXI.Texture.removeTextureFromCache=function(a){var b=PIXI.TextureCache[a];PIXI.TextureCache[a]=null;return b}; -PIXI.SpriteSheetLoader=function(a){PIXI.EventTarget.call(this);this.url=a;this.baseUrl=a.replace(/[^\/]*$/,"");this.texture;this.frames={};this.crossorigin=!1};PIXI.SpriteSheetLoader.constructor=PIXI.SpriteSheetLoader; -PIXI.SpriteSheetLoader.prototype.load=function(){this.ajaxRequest=new AjaxRequest;var a=this;this.ajaxRequest.onreadystatechange=function(){a.onLoaded()};this.ajaxRequest.open("GET",this.url,!0);this.ajaxRequest.overrideMimeType&&this.ajaxRequest.overrideMimeType("application/json");this.ajaxRequest.send(null)}; -PIXI.SpriteSheetLoader.prototype.onLoaded=function(){if(4==this.ajaxRequest.readyState&&(200==this.ajaxRequest.status||-1==window.location.href.indexOf("http"))){var a=eval("("+this.ajaxRequest.responseText+")");this.texture=PIXI.Texture.fromImage(this.baseUrl+a.meta.image,this.crossorigin).baseTexture;var a=a.frames,b;for(b in a){var c=a[b].frame;PIXI.TextureCache[b]=new PIXI.Texture(this.texture,{x:c.x,y:c.y,width:c.w,height:c.h});a[b].trimmed&&(PIXI.TextureCache[b].realSize=a[b].spriteSourceSize, -PIXI.TextureCache[b].trim.x=0)}if(this.texture.hasLoaded)this.dispatchEvent({type:"loaded",content:this});else{var d=this;this.texture.addEventListener("loaded",function(){d.dispatchEvent({type:"loaded",content:d})})}}};PIXI.AssetLoader=function(a){PIXI.EventTarget.call(this);this.assetURLs=a;this.assets=[];this.crossorigin=!1};PIXI.AssetLoader.constructor=PIXI.AssetLoader; -PIXI.AssetLoader.prototype.load=function(){this.loadCount=this.assetURLs.length;for(var a=["jpeg","jpg","png","gif"],b=["json"],c=0;c>16)/255,(255&t>>8)/255,(255&t)/255]}function determineMatrixArrayType(){return PIXI.Matrix="undefined"!=typeof Float32Array?Float32Array:Array,PIXI.Matrix}var PIXI=PIXI||{};PIXI.Point=function(t,e){this.x=t||0,this.y=e||0},PIXI.Point.clone=function(){return new PIXI.Point(this.x,this.y)},PIXI.Point.constructor=PIXI.Point,PIXI.Rectangle=function(t,e,i,r){this.x=t||0,this.y=e||0,this.width=i||0,this.height=r||0},PIXI.Rectangle.clone=function(){return new PIXI.Rectangle(this.x,this.y,this.width,this.height)},PIXI.Rectangle.constructor=PIXI.Rectangle,PIXI.DisplayObject=function(){this.position=new PIXI.Point,this.scale=new PIXI.Point(1,1),this.rotation=0,this.alpha=1,this.visible=!0,this.cacheVisible=!1,this.parent=null,this.stage=null,this.worldAlpha=1,this.color=[],this.worldTransform=PIXI.mat3.create(),this.localTransform=PIXI.mat3.create(),this.dynamic=!0,this._sr=0,this._cr=1,this.renderable=!1,this.interactive=!0},PIXI.DisplayObject.constructor=PIXI.DisplayObject,PIXI.DisplayObject.prototype.updateTransform=function(){this.rotation!=this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation));var t=this.localTransform,e=this.parent.worldTransform,i=this.worldTransform;t[0]=this._cr*this.scale.x,t[1]=-this._sr*this.scale.y,t[3]=this._sr*this.scale.x,t[4]=this._cr*this.scale.y,t[2]=this.position.x,t[5]=this.position.y;var r=t[0],s=t[1],n=t[2],o=t[3],h=t[4],a=t[5],c=e[0],u=e[1],d=e[2],l=e[3],I=e[4],f=e[5];i[0]=c*r+u*o,i[1]=c*s+u*h,i[2]=c*n+u*a+d,i[3]=l*r+I*o,i[4]=l*s+I*h,i[5]=l*n+I*a+f,this.worldAlpha=this.alpha*this.parent.worldAlpha},PIXI.DisplayObjectContainer=function(){PIXI.DisplayObject.call(this),this.children=[],this.renderable=!1},PIXI.DisplayObjectContainer.constructor=PIXI.DisplayObjectContainer,PIXI.DisplayObjectContainer.prototype=Object.create(PIXI.DisplayObject.prototype),PIXI.DisplayObjectContainer.prototype.addChild=function(t){void 0!=t.parent&&t.parent.removeChild(t),t.parent=this,t.childIndex=this.children.length,this.children.push(t),this.stage&&this.stage.__addChild(t)},PIXI.DisplayObjectContainer.prototype.addChildAt=function(t,e){if(!(e>=0&&this.children.length>=e))throw Error(t+" The index "+e+" supplied is out of bounds "+this.children.length);void 0!=t.parent&&t.parent.removeChild(t),e==this.children.length?this.children.push(t):this.children.splice(e,0,t),t.parent=this,t.childIndex=e;for(var i=this.children.length,r=e;i>r;r++)this.children[r].childIndex=r;this.stage&&this.stage.__addChild(t)},PIXI.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1===e)throw Error(t+" The supplied DisplayObject must be a child of the caller "+this);this.stage&&this.stage.__removeChild(t),t.parent=void 0,this.children.splice(e,1);for(var i=e,r=this.children.length;r>i;i++)this.children[i].childIndex-=1},PIXI.DisplayObjectContainer.prototype.updateTransform=function(){if(this.visible){PIXI.DisplayObject.prototype.updateTransform.call(this);for(var t=0,e=this.children.length;e>t;t++)this.children[t].updateTransform()}},PIXI.blendModes={},PIXI.blendModes.NORMAL=0,PIXI.blendModes.SCREEN=1,PIXI.Sprite=function(t){PIXI.DisplayObjectContainer.call(this),this.anchor=new PIXI.Point,this.texture=t,this.blendMode=PIXI.blendModes.NORMAL,this.width=1,this.height=1,t.baseTexture.hasLoaded?(this.width=this.texture.frame.width,this.height=this.texture.frame.height,this.updateFrame=!0):(this.onTextureUpdateBind=this.onTextureUpdate.bind(this),this.texture.addEventListener("update",this.onTextureUpdateBind)),this.renderable=!0,this.interactive=!1},PIXI.Sprite.constructor=PIXI.Sprite,PIXI.Sprite.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Sprite.prototype.setTexture=function(t){this.texture.baseTexture!=t.baseTexture&&(this.textureChange=!0),this.texture=t,this.width=t.frame.width,this.height=t.frame.height,this.updateFrame=!0},PIXI.Sprite.prototype.setInteractive=function(t){this.interactive=t,this.stage&&(this.stage.dirty=!0)},PIXI.Sprite.prototype.onTextureUpdate=function(){this.width=this.texture.frame.width,this.height=this.texture.frame.height,this.updateFrame=!0},PIXI.Sprite.fromFrame=function(t){var e=PIXI.TextureCache[t];if(!e)throw Error("The frameId '"+t+"' does not exist in the texture cache"+this);return new PIXI.Sprite(e)},PIXI.Sprite.fromImage=function(t){var e=PIXI.Texture.fromImage(t);return new PIXI.Sprite(e)},PIXI.MovieClip=function(t){PIXI.Sprite.call(this,t[0]),this.textures=t,this.currentFrame=0,this.animationSpeed=1,this.playing},PIXI.MovieClip.constructor=PIXI.MovieClip,PIXI.MovieClip.prototype=Object.create(PIXI.Sprite.prototype),PIXI.MovieClip.prototype.stop=function(){this.playing=!1},PIXI.MovieClip.prototype.play=function(){this.playing=!0},PIXI.MovieClip.prototype.gotoAndStop=function(t){this.playing=!1,this.currentFrame=t;var e=0|this.currentFrame+.5;this.setTexture(this.textures[e%this.textures.length])},PIXI.MovieClip.prototype.gotoAndPlay=function(t){this.currentFrame=t,this.playing=!0},PIXI.MovieClip.prototype.updateTransform=function(){if(PIXI.Sprite.prototype.updateTransform.call(this),this.playing){this.currentFrame+=this.animationSpeed;var t=0|this.currentFrame+.5;this.setTexture(this.textures[t%this.textures.length])}},PIXI.InteractionManager=function(t){this.stage=t,this.tempPoint=new PIXI.Point,this.mouseoverEnabled=!0,this.mouse=new PIXI.InteractionData,this.touchs={},this.pool=[],this.interactiveItems=[]},PIXI.InteractionManager.constructor=PIXI.InteractionManager,PIXI.InteractionManager.prototype.disableMouseOver=function(){this.mouseoverEnabled&&(this.mouseoverEnabled=!1,this.target&&this.target.view.removeEventListener("mousemove",this.onMouseMove.bind(this)))},PIXI.InteractionManager.prototype.enableMouseOver=function(){this.mouseoverEnabled||(this.mouseoverEnabled=!1,this.target&&this.target.view.addEventListener("mousemove",this.onMouseMove.bind(this)))},PIXI.InteractionManager.prototype.collectInteractiveSprite=function(t){for(var e=t.children,i=e.length,r=i-1;r>=0;r--){var s=e[r];if(s instanceof PIXI.Sprite)s.interactive&&this.interactiveItems.push(s);else if(!s.interactive)continue;s.children.length>0&&this.collectInteractiveSprite(s)}},PIXI.InteractionManager.prototype.setTarget=function(t){this.target=t,this.mouseoverEnabled&&t.view.addEventListener("mousemove",this.onMouseMove.bind(this),!0),t.view.addEventListener("mousedown",this.onMouseDown.bind(this),!0),t.view.addEventListener("mouseup",this.onMouseUp.bind(this),!0),t.view.addEventListener("mouseout",this.onMouseUp.bind(this),!0),t.view.addEventListener("touchstart",this.onTouchStart.bind(this),!0),t.view.addEventListener("touchend",this.onTouchEnd.bind(this),!0),t.view.addEventListener("touchmove",this.onTouchMove.bind(this),!0)},PIXI.InteractionManager.prototype.hitTest=function(t){this.dirty&&(this.dirty=!1,this.interactiveItems=[],this.collectInteractiveSprite(this.stage));var e=this.tempPoint;this.tempMatrix;for(var i=t.global,r=this.interactiveItems.length,s=0;r>s;s++){var n=this.interactiveItems[s];if(n.visible){var o=n.worldTransform,h=o[0],a=o[1],c=o[2],u=o[3],d=o[4],l=o[5],I=1/(h*d+a*-u);e.x=d*I*i.x+-a*I*i.y+(l*a-c*d)*I,e.y=h*I*i.y+-u*I*i.x+(-l*h+c*u)*I;var f=-n.width*n.anchor.x;if(e.x>f&&e.xp&&e.yr;r++){var s=i[r],n=this.touchs[s.identifier];n.global.x=(s.clientX-e.left)*(this.target.width/e.width),n.global.y=(s.clientY-e.top)*(this.target.height/e.height)}},PIXI.InteractionManager.prototype.onTouchStart=function(t){t.preventDefault();for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var s=i[r],n=this.pool.pop();n||(n=new PIXI.InteractionData),this.touchs[s.identifier]=n,n.global.x=(s.clientX-e.left)*(this.target.width/e.width),n.global.y=(s.clientY-e.top)*(this.target.height/e.height);var o=this.hitTest(n);o&&(n.currentDown=o,n.target=o,o.touchstart&&o.touchstart(n))}},PIXI.InteractionManager.prototype.onTouchEnd=function(t){t.preventDefault();for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var s=i[r],n=this.touchs[s.identifier];if(n.global.x=(s.clientX-e.left)*(this.target.width/e.width),n.global.y=(s.clientY-e.top)*(this.target.height/e.height),n.currentDown){n.currentDown.touchend&&n.currentDown.touchend(n);var o=this.hitTest(n);o==n.currentDown&&n.currentDown.tap&&n.currentDown.tap(n),n.currentDown=null}this.pool.push(n),this.touchs[s.identifier]=null}},PIXI.InteractionData=function(){this.global=new PIXI.Point,this.local=new PIXI.Point,this.target},PIXI.InteractionData.constructor=PIXI.InteractionData,PIXI.Stage=function(t,e){PIXI.DisplayObjectContainer.call(this),this.worldTransform=PIXI.mat3.create(),this.__childrenAdded=[],this.__childrenRemoved=[],this.childIndex=0,this.stage=this,this.interactive=!!e,this.interactionManager=new PIXI.InteractionManager(this),this.setBackgroundColor(t)},PIXI.Stage.constructor=PIXI.Stage,PIXI.Stage.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Stage.prototype.updateTransform=function(){this.worldAlpha=1;for(var t=0,e=this.children.length;e>t;t++)this.children[t].updateTransform();this.dirty&&(this.dirty=!1,this.interactionManager.dirty=!0)},PIXI.Stage.prototype.setBackgroundColor=function(t){this.backgroundColor=t||0,this.backgroundColorSplit=HEXtoRGB(this.backgroundColor),this.backgroundColorString="#"+this.backgroundColor.toString(16)},PIXI.Stage.prototype.__addChild=function(t){if(t.interactive&&(this.dirty=!0),t.stage=this,t.children)for(var e=0;t.children.length>e;e++)this.__addChild(t.children[e])},PIXI.Stage.prototype.__removeChild=function(t){if(t.interactive&&(this.dirty=!0),this.__childrenRemoved.push(t),t.stage=void 0,t.children)for(var e=0,i=t.children.length;i>e;e++)this.__removeChild(t.children[e])},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)}}(),"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var n=s.concat(t.call(arguments));r.apply(this instanceof i?this:e,n)}var r=this,s=t.call(arguments,1);if("function"!=typeof r)throw new TypeError;return i.prototype=function n(t){return t&&(n.prototype=t),this instanceof n?void 0:new n}(r.prototype),i}}());var AjaxRequest=function(){var t=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];if(!window.ActiveXObject)return window.XMLHttpRequest?new XMLHttpRequest:!1;for(var e=0;t.length>e;e++)try{return new ActiveXObject(t[e])}catch(i){}};PIXI.EventTarget=function(){var t={};this.addEventListener=this.on=function(e,i){void 0===t[e]&&(t[e]=[]),-1===t[e].indexOf(i)&&t[e].push(i)},this.dispatchEvent=this.emit=function(e){for(var i in t[e.type])t[e.type][i](e)},this.removeEventListener=this.off=function(e,i){var r=t[e].indexOf(i);-1!==r&&t[e].splice(r,1)}},determineMatrixArrayType(),PIXI.mat3={},PIXI.mat3.create=function(){var t=new PIXI.Matrix(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},PIXI.mat4={},PIXI.mat4.create=function(){var t=new PIXI.Matrix(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},PIXI.mat3.multiply=function(t,e,i){i||(i=t);var r=t[0],s=t[1],n=t[2],o=t[3],h=t[4],a=t[5],c=t[6],u=t[7],d=t[8],l=e[0],I=e[1],f=e[2],p=e[3],v=e[4],g=e[5],x=e[6],P=e[7],b=e[8];return i[0]=l*r+I*o+f*c,i[1]=l*s+I*h+f*u,i[2]=l*n+I*a+f*d,i[3]=p*r+v*o+g*c,i[4]=p*s+v*h+g*u,i[5]=p*n+v*a+g*d,i[6]=x*r+P*o+b*c,i[7]=x*s+P*h+b*u,i[8]=x*n+P*a+b*d,i},PIXI.mat3.toMat4=function(t,e){return e||(e=PIXI.mat4.create()),e[15]=1,e[14]=0,e[13]=0,e[12]=0,e[11]=0,e[10]=t[8],e[9]=t[7],e[8]=t[6],e[7]=0,e[6]=t[5],e[5]=t[4],e[4]=t[3],e[3]=0,e[2]=t[2],e[1]=t[1],e[0]=t[0],e},PIXI.mat4.create=function(){var t=new PIXI.Matrix(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},PIXI.mat4.transpose=function(t,e){if(!e||t===e){var i=t[1],r=t[2],s=t[3],n=t[6],o=t[7],h=t[11];return t[1]=t[4],t[2]=t[8],t[3]=t[12],t[4]=i,t[6]=t[9],t[7]=t[13],t[8]=r,t[9]=n,t[11]=t[14],t[12]=s,t[13]=o,t[14]=h,t}return e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15],e},PIXI.mat4.multiply=function(t,e,i){i||(i=t);var r=t[0],s=t[1],n=t[2],o=t[3],h=t[4],a=t[5],c=t[6],u=t[7],d=t[8],l=t[9],I=t[10],f=t[11],p=t[12],v=t[13],g=t[14],x=t[15],P=e[0],b=e[1],m=e[2],X=e[3];return i[0]=P*r+b*h+m*d+X*p,i[1]=P*s+b*a+m*l+X*v,i[2]=P*n+b*c+m*I+X*g,i[3]=P*o+b*u+m*f+X*x,P=e[4],b=e[5],m=e[6],X=e[7],i[4]=P*r+b*h+m*d+X*p,i[5]=P*s+b*a+m*l+X*v,i[6]=P*n+b*c+m*I+X*g,i[7]=P*o+b*u+m*f+X*x,P=e[8],b=e[9],m=e[10],X=e[11],i[8]=P*r+b*h+m*d+X*p,i[9]=P*s+b*a+m*l+X*v,i[10]=P*n+b*c+m*I+X*g,i[11]=P*o+b*u+m*f+X*x,P=e[12],b=e[13],m=e[14],X=e[15],i[12]=P*r+b*h+m*d+X*p,i[13]=P*s+b*a+m*l+X*v,i[14]=P*n+b*c+m*I+X*g,i[15]=P*o+b*u+m*f+X*x,i},PIXI.autoDetectRenderer=function(t,e,i,r){t||(t=800),e||(e=600);var s=function(){try{return!!window.WebGLRenderingContext&&!!document.createElement("canvas").getContext("experimental-webgl")}catch(t){return!1}}();return s?new PIXI.WebGLRenderer(t,e,i,r):new PIXI.CanvasRenderer(t,e,i,r)},PIXI.shaderFragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying float vColor;","uniform sampler2D uSampler;","void main(void) {","gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));","gl_FragColor = gl_FragColor * vColor;","}"],PIXI.shaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aColor;","uniform mat4 uMVMatrix;","varying vec2 vTextureCoord;","varying float vColor;","void main(void) {","gl_Position = uMVMatrix * vec4(aVertexPosition, 1.0, 1.0);","vTextureCoord = aTextureCoord;","vColor = aColor;","}"],PIXI.CompileVertexShader=function(t,e){for(var i="",r=0;e.length>r;r++)i+=e[r];var s;return s=t.createShader(t.VERTEX_SHADER),t.shaderSource(s,i),t.compileShader(s),t.getShaderParameter(s,t.COMPILE_STATUS)?s:(alert(t.getShaderInfoLog(s)),null)},PIXI.CompileFragmentShader=function(t,e){for(var i="",r=0;e.length>r;r++)i+=e[r];var s;return s=t.createShader(t.FRAGMENT_SHADER),t.shaderSource(s,i),t.compileShader(s),t.getShaderParameter(s,t.COMPILE_STATUS)?s:(alert(t.getShaderInfoLog(s)),null)},PIXI._defaultFrame=new PIXI.Rectangle(0,0,1,1),PIXI.WebGLRenderer=function(t,e,i,r){this.transparent=!!r,this.width=t||800,this.height=e||600,this.view=i||document.createElement("canvas"),this.view.width=this.width,this.view.height=this.height;var s=this;this.view.addEventListener("webglcontextlost",function(t){s.handleContextLost(t)},!1),this.view.addEventListener("webglcontextrestored",function(t){s.handleContextRestored(t)},!1),this.batchs=[];try{this.gl=this.view.getContext("experimental-webgl",{alpha:this.transparent,antialias:!1,premultipliedAlpha:!1})}catch(n){throw Error(" This browser does not support webGL. Try using the canvas renderer"+this)}this.initShaders();var o=this.gl;this.batch=new PIXI.WebGLBatch(o),o.disable(o.DEPTH_TEST),o.enable(o.BLEND),o.colorMask(!0,!0,!0,this.transparent),this.projectionMatrix=PIXI.mat4.create(),this.resize(this.width,this.height),this.contextLost=!1},PIXI.WebGLRenderer.constructor=PIXI.WebGLRenderer,PIXI.WebGLRenderer.prototype.initShaders=function(){var t=this.gl,e=PIXI.CompileFragmentShader(t,PIXI.shaderFragmentSrc),i=PIXI.CompileVertexShader(t,PIXI.shaderVertexSrc);this.shaderProgram=t.createProgram();var r=this.shaderProgram;t.attachShader(r,i),t.attachShader(r,e),t.linkProgram(r),t.getProgramParameter(r,t.LINK_STATUS)||alert("Could not initialise shaders"),t.useProgram(r),r.vertexPositionAttribute=t.getAttribLocation(r,"aVertexPosition"),t.enableVertexAttribArray(r.vertexPositionAttribute),r.textureCoordAttribute=t.getAttribLocation(r,"aTextureCoord"),t.enableVertexAttribArray(r.textureCoordAttribute),r.colorAttribute=t.getAttribLocation(r,"aColor"),t.enableVertexAttribArray(r.colorAttribute),r.mvMatrixUniform=t.getUniformLocation(r,"uMVMatrix"),r.samplerUniform=t.getUniformLocation(r,"uSampler"),PIXI.shaderProgram=this.shaderProgram},PIXI.WebGLRenderer.prototype.checkVisibility=function(t,e){for(var i=t.children,r=0;i.length>r;r++){var s=i[r],n=s.visible&&e;s.textureChange&&(s.textureChange=!1,n&&(this.removeDisplayObject(s),this.addDisplayObject(s))),s.cacheVisible!=n&&(s.cacheVisible=n,s.cacheVisible?this.addDisplayObject(s):this.removeDisplayObject(s)),s.children.length>0&&this.checkVisibility(s,n)}},PIXI.WebGLRenderer.prototype.render=function(t){if(!this.contextLost){for(var e=0;t.__childrenRemoved.length>e;e++)this.removeDisplayObject(t.__childrenRemoved[e]);for(var e=0;PIXI.texturesToUpdate.length>e;e++)this.updateTexture(PIXI.texturesToUpdate[e]);t.__childrenRemoved=[],t.__childrenAdded=[],PIXI.texturesToUpdate=[],this.checkVisibility(t,!0),t.updateTransform();var i=this.gl;i.clear(i.COLOR_BUFFER_BIT),i.clearColor(t.backgroundColorSplit[0],t.backgroundColorSplit[1],t.backgroundColorSplit[2],0),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.uniformMatrix4fv(this.shaderProgram.mvMatrixUniform,!1,this.projectionMatrix);for(var r,e=0;this.batchs.length>e;e++)r=this.batchs[e],r instanceof PIXI.WebGLBatch?this.batchs[e].render():r instanceof PIXI.Strip&&r.visible&&this.renderStrip(r);t.interactive&&(t._interactiveEventsAdded||(t._interactiveEventsAdded=!0,t.interactionManager.setTarget(this)))}},PIXI.WebGLRenderer.prototype.updateTexture=function(t){var e=this.gl;t._glTexture||(t._glTexture=e.createTexture()),t.hasLoaded&&(e.bindTexture(e.TEXTURE_2D,t._glTexture),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.source),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null)),this.refreshBatchs=!0},PIXI.WebGLRenderer.prototype.addDisplayObject=function(t){if(t.stage&&!t.__inWebGL&&(t.batch=null,t.renderable)){t.__inWebGL=!0;var e=t;do{if(0==e.childIndex)e=e.parent;else for(e=e.parent.children[e.childIndex-1];0!=e.children.length;)e=e.children[e.children.length-1];if(e==t.stage)break}while(!e.renderable||!e.__inWebGL);var i=t;do{if(0==i.children.length){for(;i.childIndex==i.parent.children.length-1;)if(i=i.parent,i==t.stage){i=null;break}i&&(i=i.parent.children[i.childIndex+1])}else i=i.children[0];if(!i)break}while(!i.renderable||!i.__inWebGL);if(t instanceof PIXI.Sprite){var r,s;if(e instanceof PIXI.Sprite){if(r=e.batch,r&&r.texture==t.texture.baseTexture&&r.blendMode==t.blendMode)return r.insertAfter(t,e),void 0}else r=e;if(i)if(i instanceof PIXI.Sprite){if(s=i.batch){if(s.texture==t.texture.baseTexture&&s.blendMode==t.blendMode)return s.insertBefore(t,i),void 0;if(s==r){var n=r.split(i),o=PIXI._getBatch(this.gl),h=this.batchs.indexOf(r);return o.init(t),this.batchs.splice(h+1,0,o,n),void 0}}}else s=i;var o=PIXI._getBatch(this.gl);if(o.init(t),r){var h=this.batchs.indexOf(r);this.batchs.splice(h+1,0,o)}else this.batchs.push(o)}else t instanceof PIXI.Strip&&(this.initStrip(t),this.batchs.push(t));this.batchUpdate=!0}},PIXI.WebGLRenderer.prototype.removeDisplayObject=function(t){if(t.cacheVisible=!1,t.renderable){t.__inWebGL=!1;var e;if(t instanceof PIXI.Sprite){var i=t.batch;if(!i)return;i.remove(t),0==i.size&&(e=i)}else e=t;if(e){var r=this.batchs.indexOf(e);if(-1==r)return;if(0==r||r==this.batchs.length-1)return this.batchs.splice(r,1),e instanceof PIXI.WebGLBatch&&PIXI._returnBatch(e),void 0;if(this.batchs[r-1]instanceof PIXI.WebGLBatch&&this.batchs[r+1]instanceof PIXI.WebGLBatch&&this.batchs[r-1].texture==this.batchs[r+1].texture&&this.batchs[r-1].blendMode==this.batchs[r+1].blendMode)return this.batchs[r-1].merge(this.batchs[r+1]),e instanceof PIXI.WebGLBatch&&PIXI._returnBatch(e),PIXI._returnBatch(this.batchs[r+1]),this.batchs.splice(r,2),void 0;this.batchs.splice(r,1),e instanceof PIXI.WebGLBatch&&PIXI._returnBatch(e)}}},PIXI.WebGLRenderer.prototype.resize=function(t,e){this.width=t,this.height=e,this.view.width=t,this.view.height=e,this.gl.viewport(0,0,this.width,this.height);var i=this.projectionMatrix;i[0]=2/this.width,i[5]=-2/this.height,i[12]=-1,i[13]=1},PIXI.WebGLRenderer.prototype.initStrip=function(t){var e=this.gl;this.shaderProgram,t._vertexBuffer=e.createBuffer(),t._indexBuffer=e.createBuffer(),t._uvBuffer=e.createBuffer(),t._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,t._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,t.verticies,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,t._uvBuffer),e.bufferData(e.ARRAY_BUFFER,t.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,t._colorBuffer),e.bufferData(e.ARRAY_BUFFER,t.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,t.indices,e.STATIC_DRAW)},PIXI.WebGLRenderer.prototype.renderStrip=function(t){var e=this.gl,i=this.shaderProgram,r=PIXI.mat3.toMat4(t.worldTransform);PIXI.mat4.transpose(r),PIXI.mat4.multiply(this.projectionMatrix,r,r),e.uniformMatrix4fv(this.shaderProgram.mvMatrixUniform,!1,r),t.blendMode==PIXI.blendModes.NORMAL?e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA):e.blendFunc(e.ONE,e.ONE_MINUS_SRC_COLOR),t.dirty?(t.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,t._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,t.verticies,e.STATIC_DRAW),e.vertexAttribPointer(i.vertexPositionAttribute,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,t._uvBuffer),e.bufferData(e.ARRAY_BUFFER,t.uvs,e.STATIC_DRAW),e.vertexAttribPointer(i.textureCoordAttribute,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.texture.baseTexture._glTexture),e.bindBuffer(e.ARRAY_BUFFER,t._colorBuffer),e.bufferData(e.ARRAY_BUFFER,t.colors,e.STATIC_DRAW),e.vertexAttribPointer(i.colorAttribute,1,e.FLOAT,!1,0,0),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,t.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,t._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,t.verticies),e.vertexAttribPointer(i.vertexPositionAttribute,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,t._uvBuffer),e.vertexAttribPointer(i.textureCoordAttribute,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.texture.baseTexture._glTexture),e.bindBuffer(e.ARRAY_BUFFER,t._colorBuffer),e.vertexAttribPointer(i.colorAttribute,1,e.FLOAT,!1,0,0),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._indexBuffer)),e.drawElements(e.TRIANGLE_STRIP,t.indices.length,e.UNSIGNED_SHORT,0),e.uniformMatrix4fv(this.shaderProgram.mvMatrixUniform,!1,this.projectionMatrix)},PIXI.WebGLRenderer.prototype.handleContextLost=function(t){t.preventDefault(),this.contextLost=!0},PIXI.WebGLRenderer.prototype.handleContextRestored=function(){this.gl=this.view.getContext("experimental-webgl",{alpha:!0}),this.initShaders();for(var t=0;PIXI.TextureCache.length>t;t++)this.updateTexture(PIXI.TextureCache[t]);for(var t=0;this.batchs.length>t;t++)this.batchs[t].restoreLostContext(this.gl),this.batchs[t].dirty=!0;PIXI._restoreBatchs(this.gl),this.contextLost=!1},PIXI._batchs=[],PIXI._getBatch=function(t){return 0==PIXI._batchs.length?new PIXI.WebGLBatch(t):PIXI._batchs.pop()},PIXI._returnBatch=function(t){t.clean(),PIXI._batchs.push(t)},PIXI._restoreBatchs=function(t){for(var e=0;PIXI._batchs.length>e;e++)PIXI._batchs[e].restoreLostContext(t)},PIXI.WebGLBatch=function(t){this.gl=t,this.size=0,this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.blendMode=PIXI.blendModes.NORMAL,this.dynamicSize=1},PIXI.WebGLBatch.constructor=PIXI.WebGLBatch,PIXI.WebGLBatch.prototype.clean=function(){this.verticies=[],this.uvs=[],this.indices=[],this.colors=[],this.dynamicSize=1,this.texture=null,this.last=null,this.size=0,this.head,this.tail},PIXI.WebGLBatch.prototype.restoreLostContext=function(t){this.gl=t,this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer()},PIXI.WebGLBatch.prototype.init=function(t){t.batch=this,this.dirty=!0,this.blendMode=t.blendMode,this.texture=t.texture.baseTexture,this.head=t,this.tail=t,this.size=1,this.growBatch()},PIXI.WebGLBatch.prototype.insertBefore=function(t,e){this.size++,t.batch=this,this.dirty=!0;var i=e.__prev;e.__prev=t,t.__next=e,i?(t.__prev=i,i.__next=t):this.head=t},PIXI.WebGLBatch.prototype.insertAfter=function(t,e){this.size++,t.batch=this,this.dirty=!0;var i=e.__next;e.__next=t,t.__prev=e,i?(t.__next=i,i.__prev=t):this.tail=t},PIXI.WebGLBatch.prototype.remove=function(t){return this.size--,0==this.size?(t.batch=null,t.__prev=null,t.__next=null,void 0):(t.__prev?t.__prev.__next=t.__next:(this.head=t.__next,this.head.__prev=null),t.__next?t.__next.__prev=t.__prev:(this.tail=t.__prev,this.tail.__next=null),t.batch=null,t.__next=null,t.__prev=null,this.dirty=!0,void 0)},PIXI.WebGLBatch.prototype.split=function(t){this.dirty=!0;var e=new PIXI.WebGLBatch(this.gl);e.init(t),e.tail=this.tail,this.tail=t.__prev,this.tail.__next=null,t.__prev=null;for(var i=0;t;)i++,t.batch=e,t=t.__next;return e.size=i,this.size-=i,e},PIXI.WebGLBatch.prototype.merge=function(t){this.dirty=!0,this.tail.__next=t.head,t.head.__prev=this.tail,this.size+=t.size,this.tail=t.tail;for(var e=t.head;e;)e.batch=this,e=e.__next},PIXI.WebGLBatch.prototype.growBatch=function(){var t=this.gl;this.dynamicSize=1==this.size?1:1.5*this.size,this.verticies=new Float32Array(8*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.verticies,t.DYNAMIC_DRAW),this.uvs=new Float32Array(8*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvs,t.DYNAMIC_DRAW),this.dirtyUVS=!0,this.colors=new Float32Array(4*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colors,t.DYNAMIC_DRAW),this.dirtyColors=!0,this.indices=new Uint16Array(6*this.dynamicSize);for(var e=this.indices.length/6,i=0;e>i;i++){var r=6*i,s=4*i;this.indices[r+0]=s+0,this.indices[r+1]=s+1,this.indices[r+2]=s+2,this.indices[r+3]=s+0,this.indices[r+4]=s+2,this.indices[r+5]=s+3}t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.indices,t.STATIC_DRAW)},PIXI.WebGLBatch.prototype.refresh=function(){this.gl,this.dynamicSizen;n++)this.renderDisplayObject(t.children[n])}},PIXI.CanvasRenderer.prototype.renderStripFlat=function(t){var e=this.context,i=t.verticies;t.uvs;var r=i.length/2;this.count++,e.beginPath();for(var s=1;r-2>s;s++){var n=2*s,o=i[n],h=i[n+2],a=i[n+4],c=i[n+1],u=i[n+3],d=i[n+5];e.moveTo(o,c),e.lineTo(h,u),e.lineTo(a,d)}e.fillStyle="#FF0000",e.fill(),e.closePath()},PIXI.CanvasRenderer.prototype.renderStrip=function(t){var e=this.context,i=t.verticies,r=t.uvs,s=i.length/2;this.count++;for(var n=1;s-2>n;n++){var o=2*n,h=i[o],a=i[o+2],c=i[o+4],u=i[o+1],d=i[o+3],l=i[o+5],I=r[o]*t.texture.width,f=r[o+2]*t.texture.width,p=r[o+4]*t.texture.width,v=r[o+1]*t.texture.height,g=r[o+3]*t.texture.height,x=r[o+5]*t.texture.height;e.save(),e.beginPath(),e.moveTo(h,u),e.lineTo(a,d),e.lineTo(c,l),e.closePath(),e.clip();var P=I*g+v*p+f*x-g*p-v*f-I*x,b=h*g+v*c+a*x-g*c-v*a-h*x,m=I*a+h*p+f*c-a*p-h*f-I*c,X=I*g*c+v*a*p+h*f*x-h*g*p-v*f*c-I*a*x,y=u*g+v*l+d*x-g*l-v*d-u*x,T=I*d+u*p+f*l-d*p-u*f-I*l,_=I*g*l+v*d*p+u*f*x-u*g*p-v*f*l-I*d*x;e.transform(b/P,y/P,m/P,T/P,X/P,_/P),e.drawImage(t.texture.baseTexture.source,0,0),e.restore()}},PIXI.Strip=function(t,e,i){PIXI.DisplayObjectContainer.call(this),this.texture=t,this.blendMode=PIXI.blendModes.NORMAL;try{this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.verticies=new Float32Array([0,0,0,0,0,0,0,0,0]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3])}catch(r){this.uvs=[0,1,1,1,1,0,0,1],this.verticies=[0,0,0,0,0,0,0,0,0],this.colors=[1,1,1,1],this.indices=[0,1,2,3]}this.width=e,this.height=i,t.baseTexture.hasLoaded?(this.width=this.texture.frame.width,this.height=this.texture.frame.height,this.updateFrame=!0):(this.onTextureUpdateBind=this.onTextureUpdate.bind(this),this.texture.addEventListener("update",this.onTextureUpdateBind)),this.renderable=!0},PIXI.Strip.constructor=PIXI.Strip,PIXI.Strip.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Strip.prototype.setTexture=function(t){this.texture=t,this.width=t.frame.width,this.height=t.frame.height,this.updateFrame=!0},PIXI.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},PIXI.Rope=function(t,e){PIXI.Strip.call(this,t),this.points=e;try{this.verticies=new Float32Array(4*e.length),this.uvs=new Float32Array(4*e.length),this.colors=new Float32Array(2*e.length),this.indices=new Uint16Array(2*e.length)}catch(i){this.verticies=verticies,this.uvs=uvs,this.colors=colors,this.indices=indices}this.refresh()},PIXI.Rope.constructor=PIXI.Rope,PIXI.Rope.prototype=Object.create(PIXI.Strip.prototype),PIXI.Rope.prototype.refresh=function(){var t=this.points;if(!(1>t.length)){var e=this.uvs,i=this.indices,r=this.colors,s=t[0],n=t[0];this.count-=.2,e[0]=0,e[1]=1,e[2]=0,e[3]=1,r[0]=1,r[1]=1,i[0]=0,i[1]=1;for(var o=t.length,h=1;o>h;h++){var n=t[h],a=4*h,c=h/(o-1);h%2?(e[a]=c,e[a+1]=0,e[a+2]=c,e[a+3]=1):(e[a]=c,e[a+1]=0,e[a+2]=c,e[a+3]=1),a=2*h,r[a]=1,r[a+1]=1,a=2*h,i[a]=a,i[a+1]=a+1,s=n}}},PIXI.Rope.prototype.updateTransform=function(){var t=this.points;if(!(1>t.length)){var e,i=this.verticies,r=t[0],s={x:0,y:0},n=t[0];this.count-=.2,i[0]=n.x+s.x,i[1]=n.y+s.y,i[2]=n.x-s.x,i[3]=n.y-s.y;for(var o=t.length,h=1;o>h;h++){var n=t[h],a=4*h;e=t.length-1>h?t[h+1]:n,s.y=-(e.x-r.x),s.x=e.y-r.y;var c=10*(1-h/(o-1));c>1&&(c=1);var u=Math.sqrt(s.x*s.x+s.y*s.y),d=this.texture.height/2;s.x/=u,s.y/=u,s.x*=d,s.y*=d,i[a]=n.x+s.x,i[a+1]=n.y+s.y,i[a+2]=n.x-s.x,i[a+3]=n.y-s.y,r=n}PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},PIXI.Rope.prototype.setTexture=function(t){this.texture=t,this.updateFrame=!0},PIXI.BaseTextureCache={},PIXI.texturesToUpdate=[],PIXI.BaseTexture=function(t){if(PIXI.EventTarget.call(this),this.width=100,this.height=100,this.source=t,this.source instanceof Image)if(this.source.complete)this.hasLoaded=!0,this.width=this.source.width,this.height=this.source.height,PIXI.texturesToUpdate.push(this);else{var e=this;this.source.onload=function(){e.hasLoaded=!0,e.width=e.source.width,e.height=e.source.height,PIXI.texturesToUpdate.push(e),e.dispatchEvent({type:"loaded",content:e})}}else this.hasLoaded=!0,this.width=this.source.width,this.height=this.source.height,PIXI.texturesToUpdate.push(this)},PIXI.BaseTexture.constructor=PIXI.BaseTexture,PIXI.BaseTexture.prototype.fromImage=function(){},PIXI.TextureCache={},PIXI.FrameCache={},PIXI.Texture=function(t,e){if(PIXI.EventTarget.call(this),e||(this.noFrame=!0,e=new PIXI.Rectangle(0,0,1,1)),this.trim=new PIXI.Point,this.baseTexture=t,this.frame=e,this.scope=this,t.hasLoaded)this.noFrame&&(e=new PIXI.Rectangle(0,0,t.width,t.height)),this.setFrame(e);else{var i=this;t.addEventListener("loaded",function(){i.onBaseTextureLoaded()})}},PIXI.Texture.constructor=PIXI.Texture,PIXI.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;t.removeEventListener("loaded",this.onLoaded),this.noFrame&&(this.frame=new PIXI.Rectangle(0,0,t.width,t.height)),this.noFrame=!1,this.width=this.frame.width,this.height=this.frame.height,this.scope.dispatchEvent({type:"update",content:this})},PIXI.Texture.prototype.setFrame=function(t){if(this.frame=t,this.width=t.width,this.height=t.height,t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height)throw Error("Texture Error: frame does not fit inside the base Texture dimensions "+this)},PIXI.Texture.fromImage=function(t,e){var i=PIXI.TextureCache[t];if(!i){var r=PIXI.BaseTextureCache[t];if(!r){var s=new Image;e&&(s.crossOrigin=""),s.src=t,r=new PIXI.BaseTexture(s),PIXI.BaseTextureCache[t]=r}i=new PIXI.Texture(r),PIXI.TextureCache[t]=i}return i},PIXI.Texture.fromFrame=function(t){var e=PIXI.TextureCache[t];if(!e)throw Error("The frameId '"+t+"' does not exist in the texture cache "+this);return e},PIXI.Texture.fromCanvas=function(t){var e=PIXI.TextureCache[t];if(!e){var i=PIXI.BaseTextureCache[t];i||(i=new PIXI.BaseTexture(t),PIXI.BaseTextureCache[t]=i),e=new PIXI.Texture(i),PIXI.TextureCache[t]=e}return e},PIXI.Texture.addTextureToCache=function(t,e){PIXI.TextureCache[e]=t},PIXI.Texture.removeTextureFromCache=function(t){var e=PIXI.TextureCache[t];return PIXI.TextureCache[t]=null,e},PIXI.SpriteSheetLoader=function(t){PIXI.EventTarget.call(this),this.url=t,this.baseUrl=t.replace(/[^\/]*$/,""),this.texture,this.frames={},this.crossorigin=!1},PIXI.SpriteSheetLoader.constructor=PIXI.SpriteSheetLoader,PIXI.SpriteSheetLoader.prototype.load=function(){this.ajaxRequest=new AjaxRequest;var t=this;this.ajaxRequest.onreadystatechange=function(){t.onLoaded()},this.ajaxRequest.open("GET",this.url,!0),this.ajaxRequest.overrideMimeType&&this.ajaxRequest.overrideMimeType("application/json"),this.ajaxRequest.send(null)},PIXI.SpriteSheetLoader.prototype.onLoaded=function(){if(4==this.ajaxRequest.readyState&&(200==this.ajaxRequest.status||-1==window.location.href.indexOf("http"))){var jsondata=eval("("+this.ajaxRequest.responseText+")"),textureUrl=this.baseUrl+jsondata.meta.image;this.texture=PIXI.Texture.fromImage(textureUrl,this.crossorigin).baseTexture;var frameData=jsondata.frames;for(var i in frameData){var rect=frameData[i].frame;PIXI.TextureCache[i]=new PIXI.Texture(this.texture,{x:rect.x,y:rect.y,width:rect.w,height:rect.h}),frameData[i].trimmed&&(PIXI.TextureCache[i].realSize=frameData[i].spriteSourceSize,PIXI.TextureCache[i].trim.x=0)}if(this.texture.hasLoaded)this.dispatchEvent({type:"loaded",content:this});else{var scope=this;this.texture.addEventListener("loaded",function(){scope.dispatchEvent({type:"loaded",content:scope})})}}},PIXI.AssetLoader=function(t){PIXI.EventTarget.call(this),this.assetURLs=t,this.assets=[],this.crossorigin=!1},PIXI.AssetLoader.constructor=PIXI.AssetLoader,PIXI.AssetLoader.prototype.load=function(){this.loadCount=this.assetURLs.length;for(var t=["jpeg","jpg","png","gif"],e=["json"],i=0;this.assetURLs.length>i;i++){for(var r=this.assetURLs[i],s=r.split(".").pop().toLowerCase(),n=null,o=0;t.length>o;o++)if(s==t[o]){n="img";break}if("img"!=n)for(var o=0;e.length>o;o++)if(s==e[o]){n="atlas";break}if("img"==n){var h=PIXI.Texture.fromImage(r,this.crossorigin);if(h.baseTexture.hasLoaded)this.loadCount--,0==this.loadCount&&(this.dispatchEvent({type:"onComplete",content:this}),this.onComplete&&this.onComplete());else{var a=this;h.baseTexture.addEventListener("loaded",function(){a.onAssetLoaded()}),this.assets.push(h)}}else{if("atlas"!=n)throw Error(r+" is an unsupported file type "+this);var c=new PIXI.SpriteSheetLoader(r);c.crossorigin=this.crossorigin,this.assets.push(c);var a=this;c.addEventListener("loaded",function(){a.onAssetLoaded()}),c.load()}}},PIXI.AssetLoader.prototype.onAssetLoaded=function(){this.loadCount--,this.dispatchEvent({type:"onProgress",content:this}),this.onProgress&&this.onProgress(),0==this.loadCount&&(this.dispatchEvent({type:"onComplete",content:this}),this.onComplete&&this.onComplete())}; \ No newline at end of file diff --git a/bin/pixi.dev.js b/bin/pixi.dev.js index bed7ed4..3ab71cc 100644 --- a/bin/pixi.dev.js +++ b/bin/pixi.dev.js @@ -1,4 +1,15 @@ /** + * @license + * Pixi.JS - v1.0.0 + * Copyright (c) 2012, Mat Groves + * http://goodboydigital.com/ + * + * Compiled: 2013-04-06 + * + * Pixi.JS is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license.php + */ +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -6,6 +17,7 @@ @module PIXI */ var PIXI = PIXI || {}; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -46,6 +58,7 @@ // constructor PIXI.Point.constructor = PIXI.Point; + /** * @author Mat Groves http://matgroves.com/ */ @@ -102,6 +115,7 @@ // constructor PIXI.Rectangle.constructor = PIXI.Rectangle; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -211,7 +225,7 @@ // Cache the matrix values (makes for huge speed increases!) var a00 = localTransform[0], a01 = localTransform[1], a02 = localTransform[2], - a10 = localTransform[3], a11 = localTransform[4], a12 = localTransform[5]; + a10 = localTransform[3], a11 = localTransform[4], a12 = localTransform[5], b00 = parentTransform[0], b01 = parentTransform[1], b02 = parentTransform[2], b10 = parentTransform[3], b11 = parentTransform[4], b12 = parentTransform[5]; @@ -228,6 +242,7 @@ // mat3.multiply(this.localTransform, this.parent.worldTransform, this.worldTransform); this.worldAlpha = this.alpha * this.parent.worldAlpha; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -367,6 +382,7 @@ this.children[i].updateTransform(); } } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -586,6 +602,7 @@ return new PIXI.Sprite(texture); } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -685,7 +702,8 @@ this.currentFrame += this.animationSpeed; var round = (this.currentFrame + 0.5) | 0; this.setTexture(this.textures[round % this.textures.length]); -}/** +} +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -844,7 +862,7 @@ tempPoint.y = a00 * id * global.y + -a10 * id * global.x + (-a12 * a00 + a02 * a10) * id; - var x1 = -item.width * item.anchor.x + var x1 = -item.width * item.anchor.x; if(tempPoint.x > x1 && tempPoint.x < x1 + item.width) { @@ -1046,6 +1064,7 @@ PIXI.InteractionData.constructor = PIXI.InteractionData; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1148,6 +1167,7 @@ } } } + /** * Provides requestAnimationFrame in a cross browser way. */ @@ -1224,6 +1244,7 @@ + /** * https://github.com/mrdoob/eventtarget.js/ * THankS mr DOob! @@ -1233,7 +1254,7 @@ var listeners = {}; - this.addEventListener = function ( type, listener ) { + this.addEventListener = this.on = function ( type, listener ) { if ( listeners[ type ] === undefined ) { @@ -1249,7 +1270,7 @@ }; - this.dispatchEvent = function ( event ) { + this.dispatchEvent = this.emit = function ( event ) { for ( var listener in listeners[ event.type ] ) { @@ -1259,7 +1280,7 @@ }; - this.removeEventListener = function ( type, listener ) { + this.removeEventListener = this.off = function ( type, listener ) { var index = listeners[ type ].indexOf( listener ); @@ -1274,6 +1295,7 @@ }; + /* * A lighter version of the rad gl-matrix created by Brandon Jones, Colin MacKenzie IV * you both rock! @@ -1504,6 +1526,7 @@ return dest; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1516,8 +1539,10 @@ * @param width {Number} the width of the renderers view * @param height {Number} the height of the renderers view * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false */ -PIXI.autoDetectRenderer = function(width, height, view) +PIXI.autoDetectRenderer = function(width, height, view, transparent) { if(!width)width = 800; if(!height)height = 600; @@ -1528,14 +1553,15 @@ //console.log(webgl); if( webgl ) { - return new PIXI.WebGLRenderer(width, height, view); + return new PIXI.WebGLRenderer(width, height, view, transparent); } - return new PIXI.CanvasRenderer(width, height, view); + return new PIXI.CanvasRenderer(width, height, view, transparent); }; + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1603,7 +1629,8 @@ } return shader; -}/** +} +/** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -1619,16 +1646,21 @@ * @param height {Number} the height of the canvas view * @default 0 * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false + * */ -PIXI.WebGLRenderer = function(width, height, view) +PIXI.WebGLRenderer = function(width, height, view, transparent) { + //console.log(transparent) + this.transparent = !!transparent; + this.width = width || 800; this.height = height || 600; this.view = view || document.createElement( 'canvas' ); this.view.width = this.width; this.view.height = this.height; - this.view.background = "#FF0000"; // deal with losing context.. var scope = this; @@ -1640,7 +1672,9 @@ try { this.gl = this.view.getContext("experimental-webgl", { - alpha: false + alpha: this.transparent, + antialias:false, // SPEED UP?? + premultipliedAlpha:false }); } catch (e) @@ -1656,7 +1690,7 @@ this.batch = new PIXI.WebGLBatch(gl); gl.disable(gl.DEPTH_TEST); gl.enable(gl.BLEND); - gl.colorMask(true, true, true, false); + gl.colorMask(true, true, true, this.transparent); this.projectionMatrix = PIXI.mat4.create(); this.resize(this.width, this.height) @@ -1790,7 +1824,8 @@ gl.clear(gl.COLOR_BUFFER_BIT) - gl.clearColor(stage.backgroundColorSplit[0], stage.backgroundColorSplit[1], stage.backgroundColorSplit[2], 1.0); + gl.clearColor(stage.backgroundColorSplit[0], stage.backgroundColorSplit[1], stage.backgroundColorSplit[2], 0); + // set the correct blend mode! gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA); @@ -2294,6 +2329,7 @@ this.contextLost = false; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -2851,6 +2887,7 @@ gl.drawElements(gl.TRIANGLES, this.size * 6, gl.UNSIGNED_SHORT, 0); } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -2862,9 +2899,13 @@ * @param width {Number} the width of the canvas view * @param height {Number} the height of the canvas view * @param view {Canvas} the canvas to use as a view, optional + * @param transparent {Boolean} the transparency of the render view + * @default false */ -PIXI.CanvasRenderer = function(width, height, view) +PIXI.CanvasRenderer = function(width, height, view, transparent) { + this.transparent = transparent; + /** * The width of the canvas view * @property width @@ -2928,7 +2969,7 @@ this.context.setTransform(1,0,0,1,0,0); // update the background color - if(this.view.style.backgroundColor!=stage.backgroundColorString)this.view.style.backgroundColor = stage.backgroundColorString; + if(this.view.style.backgroundColor!=stage.backgroundColorString && !this.transparent)this.view.style.backgroundColor = stage.backgroundColorString; this.context.clearRect(0, 0, this.width, this.height) this.renderDisplayObject(stage); @@ -3133,6 +3174,7 @@ + /** * @author Mat Groves http://matgroves.com/ */ @@ -3222,6 +3264,7 @@ } // some helper functions.. + /** * @author Mat Groves http://matgroves.com/ */ @@ -3397,6 +3440,7 @@ + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3489,6 +3533,7 @@ { } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3691,6 +3736,7 @@ return texture; } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -3793,6 +3839,7 @@ } + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ diff --git a/bin/pixi.js b/bin/pixi.js index b8ce5fd..fcfa0ab 100644 --- a/bin/pixi.js +++ b/bin/pixi.js @@ -1,103 +1,13 @@ -var PIXI=PIXI||{};PIXI.Point=function(a,b){this.x=a||0;this.y=b||0};PIXI.Point.clone=function(){return new PIXI.Point(this.x,this.y)};PIXI.Point.constructor=PIXI.Point;PIXI.Rectangle=function(a,b,c,d){this.x=a||0;this.y=b||0;this.width=c||0;this.height=d||0};PIXI.Rectangle.clone=function(){return new PIXI.Rectangle(this.x,this.y,this.width,this.height)};PIXI.Rectangle.constructor=PIXI.Rectangle; -PIXI.DisplayObject=function(){this.position=new PIXI.Point;this.scale=new PIXI.Point(1,1);this.rotation=0;this.alpha=1;this.visible=!0;this.cacheVisible=!1;this.stage=this.parent=null;this.worldAlpha=1;this.color=[];this.worldTransform=PIXI.mat3.create();this.localTransform=PIXI.mat3.create();this.dynamic=!0;this._sr=0;this._cr=1;this.renderable=!1;this.interactive=!0};PIXI.DisplayObject.constructor=PIXI.DisplayObject; -PIXI.DisplayObject.prototype.updateTransform=function(){this.rotation!=this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation));var a=this.localTransform,b=this.parent.worldTransform,c=this.worldTransform;a[0]=this._cr*this.scale.x;a[1]=-this._sr*this.scale.y;a[3]=this._sr*this.scale.x;a[4]=this._cr*this.scale.y;a[2]=this.position.x;a[5]=this.position.y;var d=a[0],e=a[1],f=a[2],g=a[3],h=a[4],a=a[5];b00=b[0];b01=b[1];b02=b[2];b10=b[3]; -b11=b[4];b12=b[5];c[0]=b00*d+b01*g;c[1]=b00*e+b01*h;c[2]=b00*f+b01*a+b02;c[3]=b10*d+b11*g;c[4]=b10*e+b11*h;c[5]=b10*f+b11*a+b12;this.worldAlpha=this.alpha*this.parent.worldAlpha};PIXI.DisplayObjectContainer=function(){PIXI.DisplayObject.call(this);this.children=[];this.renderable=!1};PIXI.DisplayObjectContainer.constructor=PIXI.DisplayObjectContainer;PIXI.DisplayObjectContainer.prototype=Object.create(PIXI.DisplayObject.prototype); -PIXI.DisplayObjectContainer.prototype.addChild=function(a){void 0!=a.parent&&a.parent.removeChild(a);a.parent=this;a.childIndex=this.children.length;this.children.push(a);this.stage&&this.stage.__addChild(a)}; -PIXI.DisplayObjectContainer.prototype.addChildAt=function(a,b){if(0<=b&&b<=this.children.length){void 0!=a.parent&&a.parent.removeChild(a);b==this.children.length?this.children.push(a):this.children.splice(b,0,a);a.parent=this;a.childIndex=b;for(var c=this.children.length,d=b;dh&&b.xh&&b.y< -h+f.height))return a.local.x=b.x,a.local.y=b.y,f}}return null}; -PIXI.InteractionManager.prototype.onMouseMove=function(a){a.preventDefault();var b=this.target.view.getBoundingClientRect();this.mouse.global.x=(a.clientX-b.left)*(this.target.width/b.width);this.mouse.global.y=(a.clientY-b.top)*(this.target.height/b.height);a=this.hitTest(this.mouse);this.currentOver!=a&&(this.currentOver&&(this.mouse.target=this.currentOver,this.currentOver.mouseout&&this.currentOver.mouseout(this.mouse),this.currentOver=null),this.target.view.style.cursor="default");a&&this.currentOver!= -a&&(this.currentOver=a,this.target.view.style.cursor="pointer",this.mouse.target=a,a.mouseover&&a.mouseover(this.mouse))};PIXI.InteractionManager.prototype.onMouseDown=function(a){var b=this.target.view.getBoundingClientRect();this.mouse.global.x=(a.clientX-b.left)*(this.target.width/b.width);this.mouse.global.y=(a.clientY-b.top)*(this.target.height/b.height);if(a=this.hitTest(this.mouse))this.currentDown=a,this.mouse.target=a,a.mousedown&&a.mousedown(this.mouse)}; -PIXI.InteractionManager.prototype.onMouseUp=function(){this.currentOver&&(this.mouse.target=this.currentOver,this.currentOver.mouseup&&this.currentOver.mouseup(this.mouse));this.currentDown&&(this.mouse.target=this.currentDown,this.currentOver==this.currentDown&&this.currentDown.click&&this.currentDown.click(this.mouse),this.currentDown=null)}; -PIXI.InteractionManager.prototype.onTouchMove=function(a){a.preventDefault();var b=this.target.view.getBoundingClientRect();a=a.changedTouches;for(var c=0;c>16&255)/255,(a>>8&255)/255,(a&255)/255]} -"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;c.prototype=function g(a){a&&(g.prototype=a);if(!(this instanceof g))return new g}(d.prototype);return c}}()); -var AjaxRequest=function(){var a=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];if(window.ActiveXObject)for(var b=0;ba.length)){var b=this.uvs,c=this.indices,d=this.colors;this.count-=0.2;b[0]=0;b[1]=1;b[2]=0;b[3]=1;d[0]=1;d[1]=1;c[0]=0;c[1]=1;for(var a=a.length,e=1;ea.length)){var b=this.verticies,c=a[0],d,e=d=0,f=a[0];this.count-=0.2;b[0]=f.x+d;b[1]=f.y+e;b[2]=f.x-d;b[3]=f.y-e;for(var g=a.length,h=1;hthis.baseTexture.width||a.y+a.height>this.baseTexture.height)throw Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);}; -PIXI.Texture.fromImage=function(a,b){var c=PIXI.TextureCache[a];c||(c=PIXI.BaseTextureCache[a],c||(c=new Image,b&&(c.crossOrigin=""),c.src=a,c=new PIXI.BaseTexture(c),PIXI.BaseTextureCache[a]=c),c=new PIXI.Texture(c),PIXI.TextureCache[a]=c);return c};PIXI.Texture.fromFrame=function(a){var b=PIXI.TextureCache[a];if(!b)throw Error("The frameId '"+a+"' does not exist in the texture cache "+this);return b}; -PIXI.Texture.fromCanvas=function(a){var b=PIXI.TextureCache[a];b||(b=PIXI.BaseTextureCache[a],b||(b=new PIXI.BaseTexture(a),PIXI.BaseTextureCache[a]=b),b=new PIXI.Texture(b),PIXI.TextureCache[a]=b);return b};PIXI.Texture.addTextureToCache=function(a,b){PIXI.TextureCache[b]=a};PIXI.Texture.removeTextureFromCache=function(a){var b=PIXI.TextureCache[a];PIXI.TextureCache[a]=null;return b}; -PIXI.SpriteSheetLoader=function(a){PIXI.EventTarget.call(this);this.url=a;this.baseUrl=a.replace(/[^\/]*$/,"");this.texture;this.frames={};this.crossorigin=!1};PIXI.SpriteSheetLoader.constructor=PIXI.SpriteSheetLoader; -PIXI.SpriteSheetLoader.prototype.load=function(){this.ajaxRequest=new AjaxRequest;var a=this;this.ajaxRequest.onreadystatechange=function(){a.onLoaded()};this.ajaxRequest.open("GET",this.url,!0);this.ajaxRequest.overrideMimeType&&this.ajaxRequest.overrideMimeType("application/json");this.ajaxRequest.send(null)}; -PIXI.SpriteSheetLoader.prototype.onLoaded=function(){if(4==this.ajaxRequest.readyState&&(200==this.ajaxRequest.status||-1==window.location.href.indexOf("http"))){var a=eval("("+this.ajaxRequest.responseText+")");this.texture=PIXI.Texture.fromImage(this.baseUrl+a.meta.image,this.crossorigin).baseTexture;var a=a.frames,b;for(b in a){var c=a[b].frame;PIXI.TextureCache[b]=new PIXI.Texture(this.texture,{x:c.x,y:c.y,width:c.w,height:c.h});a[b].trimmed&&(PIXI.TextureCache[b].realSize=a[b].spriteSourceSize, -PIXI.TextureCache[b].trim.x=0)}if(this.texture.hasLoaded)this.dispatchEvent({type:"loaded",content:this});else{var d=this;this.texture.addEventListener("loaded",function(){d.dispatchEvent({type:"loaded",content:d})})}}};PIXI.AssetLoader=function(a){PIXI.EventTarget.call(this);this.assetURLs=a;this.assets=[];this.crossorigin=!1};PIXI.AssetLoader.constructor=PIXI.AssetLoader; -PIXI.AssetLoader.prototype.load=function(){this.loadCount=this.assetURLs.length;for(var a=["jpeg","jpg","png","gif"],b=["json"],c=0;c>16)/255,(255&t>>8)/255,(255&t)/255]}function determineMatrixArrayType(){return PIXI.Matrix="undefined"!=typeof Float32Array?Float32Array:Array,PIXI.Matrix}var PIXI=PIXI||{};PIXI.Point=function(t,e){this.x=t||0,this.y=e||0},PIXI.Point.clone=function(){return new PIXI.Point(this.x,this.y)},PIXI.Point.constructor=PIXI.Point,PIXI.Rectangle=function(t,e,i,r){this.x=t||0,this.y=e||0,this.width=i||0,this.height=r||0},PIXI.Rectangle.clone=function(){return new PIXI.Rectangle(this.x,this.y,this.width,this.height)},PIXI.Rectangle.constructor=PIXI.Rectangle,PIXI.DisplayObject=function(){this.position=new PIXI.Point,this.scale=new PIXI.Point(1,1),this.rotation=0,this.alpha=1,this.visible=!0,this.cacheVisible=!1,this.parent=null,this.stage=null,this.worldAlpha=1,this.color=[],this.worldTransform=PIXI.mat3.create(),this.localTransform=PIXI.mat3.create(),this.dynamic=!0,this._sr=0,this._cr=1,this.renderable=!1,this.interactive=!0},PIXI.DisplayObject.constructor=PIXI.DisplayObject,PIXI.DisplayObject.prototype.updateTransform=function(){this.rotation!=this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation));var t=this.localTransform,e=this.parent.worldTransform,i=this.worldTransform;t[0]=this._cr*this.scale.x,t[1]=-this._sr*this.scale.y,t[3]=this._sr*this.scale.x,t[4]=this._cr*this.scale.y,t[2]=this.position.x,t[5]=this.position.y;var r=t[0],s=t[1],n=t[2],o=t[3],h=t[4],a=t[5],c=e[0],u=e[1],d=e[2],l=e[3],I=e[4],f=e[5];i[0]=c*r+u*o,i[1]=c*s+u*h,i[2]=c*n+u*a+d,i[3]=l*r+I*o,i[4]=l*s+I*h,i[5]=l*n+I*a+f,this.worldAlpha=this.alpha*this.parent.worldAlpha},PIXI.DisplayObjectContainer=function(){PIXI.DisplayObject.call(this),this.children=[],this.renderable=!1},PIXI.DisplayObjectContainer.constructor=PIXI.DisplayObjectContainer,PIXI.DisplayObjectContainer.prototype=Object.create(PIXI.DisplayObject.prototype),PIXI.DisplayObjectContainer.prototype.addChild=function(t){void 0!=t.parent&&t.parent.removeChild(t),t.parent=this,t.childIndex=this.children.length,this.children.push(t),this.stage&&this.stage.__addChild(t)},PIXI.DisplayObjectContainer.prototype.addChildAt=function(t,e){if(!(e>=0&&this.children.length>=e))throw Error(t+" The index "+e+" supplied is out of bounds "+this.children.length);void 0!=t.parent&&t.parent.removeChild(t),e==this.children.length?this.children.push(t):this.children.splice(e,0,t),t.parent=this,t.childIndex=e;for(var i=this.children.length,r=e;i>r;r++)this.children[r].childIndex=r;this.stage&&this.stage.__addChild(t)},PIXI.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1===e)throw Error(t+" The supplied DisplayObject must be a child of the caller "+this);this.stage&&this.stage.__removeChild(t),t.parent=void 0,this.children.splice(e,1);for(var i=e,r=this.children.length;r>i;i++)this.children[i].childIndex-=1},PIXI.DisplayObjectContainer.prototype.updateTransform=function(){if(this.visible){PIXI.DisplayObject.prototype.updateTransform.call(this);for(var t=0,e=this.children.length;e>t;t++)this.children[t].updateTransform()}},PIXI.blendModes={},PIXI.blendModes.NORMAL=0,PIXI.blendModes.SCREEN=1,PIXI.Sprite=function(t){PIXI.DisplayObjectContainer.call(this),this.anchor=new PIXI.Point,this.texture=t,this.blendMode=PIXI.blendModes.NORMAL,this.width=1,this.height=1,t.baseTexture.hasLoaded?(this.width=this.texture.frame.width,this.height=this.texture.frame.height,this.updateFrame=!0):(this.onTextureUpdateBind=this.onTextureUpdate.bind(this),this.texture.addEventListener("update",this.onTextureUpdateBind)),this.renderable=!0,this.interactive=!1},PIXI.Sprite.constructor=PIXI.Sprite,PIXI.Sprite.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Sprite.prototype.setTexture=function(t){this.texture.baseTexture!=t.baseTexture&&(this.textureChange=!0),this.texture=t,this.width=t.frame.width,this.height=t.frame.height,this.updateFrame=!0},PIXI.Sprite.prototype.setInteractive=function(t){this.interactive=t,this.stage&&(this.stage.dirty=!0)},PIXI.Sprite.prototype.onTextureUpdate=function(){this.width=this.texture.frame.width,this.height=this.texture.frame.height,this.updateFrame=!0},PIXI.Sprite.fromFrame=function(t){var e=PIXI.TextureCache[t];if(!e)throw Error("The frameId '"+t+"' does not exist in the texture cache"+this);return new PIXI.Sprite(e)},PIXI.Sprite.fromImage=function(t){var e=PIXI.Texture.fromImage(t);return new PIXI.Sprite(e)},PIXI.MovieClip=function(t){PIXI.Sprite.call(this,t[0]),this.textures=t,this.currentFrame=0,this.animationSpeed=1,this.playing},PIXI.MovieClip.constructor=PIXI.MovieClip,PIXI.MovieClip.prototype=Object.create(PIXI.Sprite.prototype),PIXI.MovieClip.prototype.stop=function(){this.playing=!1},PIXI.MovieClip.prototype.play=function(){this.playing=!0},PIXI.MovieClip.prototype.gotoAndStop=function(t){this.playing=!1,this.currentFrame=t;var e=0|this.currentFrame+.5;this.setTexture(this.textures[e%this.textures.length])},PIXI.MovieClip.prototype.gotoAndPlay=function(t){this.currentFrame=t,this.playing=!0},PIXI.MovieClip.prototype.updateTransform=function(){if(PIXI.Sprite.prototype.updateTransform.call(this),this.playing){this.currentFrame+=this.animationSpeed;var t=0|this.currentFrame+.5;this.setTexture(this.textures[t%this.textures.length])}},PIXI.InteractionManager=function(t){this.stage=t,this.tempPoint=new PIXI.Point,this.mouseoverEnabled=!0,this.mouse=new PIXI.InteractionData,this.touchs={},this.pool=[],this.interactiveItems=[]},PIXI.InteractionManager.constructor=PIXI.InteractionManager,PIXI.InteractionManager.prototype.disableMouseOver=function(){this.mouseoverEnabled&&(this.mouseoverEnabled=!1,this.target&&this.target.view.removeEventListener("mousemove",this.onMouseMove.bind(this)))},PIXI.InteractionManager.prototype.enableMouseOver=function(){this.mouseoverEnabled||(this.mouseoverEnabled=!1,this.target&&this.target.view.addEventListener("mousemove",this.onMouseMove.bind(this)))},PIXI.InteractionManager.prototype.collectInteractiveSprite=function(t){for(var e=t.children,i=e.length,r=i-1;r>=0;r--){var s=e[r];if(s instanceof PIXI.Sprite)s.interactive&&this.interactiveItems.push(s);else if(!s.interactive)continue;s.children.length>0&&this.collectInteractiveSprite(s)}},PIXI.InteractionManager.prototype.setTarget=function(t){this.target=t,this.mouseoverEnabled&&t.view.addEventListener("mousemove",this.onMouseMove.bind(this),!0),t.view.addEventListener("mousedown",this.onMouseDown.bind(this),!0),t.view.addEventListener("mouseup",this.onMouseUp.bind(this),!0),t.view.addEventListener("mouseout",this.onMouseUp.bind(this),!0),t.view.addEventListener("touchstart",this.onTouchStart.bind(this),!0),t.view.addEventListener("touchend",this.onTouchEnd.bind(this),!0),t.view.addEventListener("touchmove",this.onTouchMove.bind(this),!0)},PIXI.InteractionManager.prototype.hitTest=function(t){this.dirty&&(this.dirty=!1,this.interactiveItems=[],this.collectInteractiveSprite(this.stage));var e=this.tempPoint;this.tempMatrix;for(var i=t.global,r=this.interactiveItems.length,s=0;r>s;s++){var n=this.interactiveItems[s];if(n.visible){var o=n.worldTransform,h=o[0],a=o[1],c=o[2],u=o[3],d=o[4],l=o[5],I=1/(h*d+a*-u);e.x=d*I*i.x+-a*I*i.y+(l*a-c*d)*I,e.y=h*I*i.y+-u*I*i.x+(-l*h+c*u)*I;var f=-n.width*n.anchor.x;if(e.x>f&&e.xp&&e.yr;r++){var s=i[r],n=this.touchs[s.identifier];n.global.x=(s.clientX-e.left)*(this.target.width/e.width),n.global.y=(s.clientY-e.top)*(this.target.height/e.height)}},PIXI.InteractionManager.prototype.onTouchStart=function(t){t.preventDefault();for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var s=i[r],n=this.pool.pop();n||(n=new PIXI.InteractionData),this.touchs[s.identifier]=n,n.global.x=(s.clientX-e.left)*(this.target.width/e.width),n.global.y=(s.clientY-e.top)*(this.target.height/e.height);var o=this.hitTest(n);o&&(n.currentDown=o,n.target=o,o.touchstart&&o.touchstart(n))}},PIXI.InteractionManager.prototype.onTouchEnd=function(t){t.preventDefault();for(var e=this.target.view.getBoundingClientRect(),i=t.changedTouches,r=0;i.length>r;r++){var s=i[r],n=this.touchs[s.identifier];if(n.global.x=(s.clientX-e.left)*(this.target.width/e.width),n.global.y=(s.clientY-e.top)*(this.target.height/e.height),n.currentDown){n.currentDown.touchend&&n.currentDown.touchend(n);var o=this.hitTest(n);o==n.currentDown&&n.currentDown.tap&&n.currentDown.tap(n),n.currentDown=null}this.pool.push(n),this.touchs[s.identifier]=null}},PIXI.InteractionData=function(){this.global=new PIXI.Point,this.local=new PIXI.Point,this.target},PIXI.InteractionData.constructor=PIXI.InteractionData,PIXI.Stage=function(t,e){PIXI.DisplayObjectContainer.call(this),this.worldTransform=PIXI.mat3.create(),this.__childrenAdded=[],this.__childrenRemoved=[],this.childIndex=0,this.stage=this,this.interactive=!!e,this.interactionManager=new PIXI.InteractionManager(this),this.setBackgroundColor(t)},PIXI.Stage.constructor=PIXI.Stage,PIXI.Stage.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Stage.prototype.updateTransform=function(){this.worldAlpha=1;for(var t=0,e=this.children.length;e>t;t++)this.children[t].updateTransform();this.dirty&&(this.dirty=!1,this.interactionManager.dirty=!0)},PIXI.Stage.prototype.setBackgroundColor=function(t){this.backgroundColor=t||0,this.backgroundColorSplit=HEXtoRGB(this.backgroundColor),this.backgroundColorString="#"+this.backgroundColor.toString(16)},PIXI.Stage.prototype.__addChild=function(t){if(t.interactive&&(this.dirty=!0),t.stage=this,t.children)for(var e=0;t.children.length>e;e++)this.__addChild(t.children[e])},PIXI.Stage.prototype.__removeChild=function(t){if(t.interactive&&(this.dirty=!0),this.__childrenRemoved.push(t),t.stage=void 0,t.children)for(var e=0,i=t.children.length;i>e;e++)this.__removeChild(t.children[e])},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)}}(),"function"!=typeof Function.prototype.bind&&(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var n=s.concat(t.call(arguments));r.apply(this instanceof i?this:e,n)}var r=this,s=t.call(arguments,1);if("function"!=typeof r)throw new TypeError;return i.prototype=function n(t){return t&&(n.prototype=t),this instanceof n?void 0:new n}(r.prototype),i}}());var AjaxRequest=function(){var t=["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];if(!window.ActiveXObject)return window.XMLHttpRequest?new XMLHttpRequest:!1;for(var e=0;t.length>e;e++)try{return new ActiveXObject(t[e])}catch(i){}};PIXI.EventTarget=function(){var t={};this.addEventListener=this.on=function(e,i){void 0===t[e]&&(t[e]=[]),-1===t[e].indexOf(i)&&t[e].push(i)},this.dispatchEvent=this.emit=function(e){for(var i in t[e.type])t[e.type][i](e)},this.removeEventListener=this.off=function(e,i){var r=t[e].indexOf(i);-1!==r&&t[e].splice(r,1)}},determineMatrixArrayType(),PIXI.mat3={},PIXI.mat3.create=function(){var t=new PIXI.Matrix(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},PIXI.mat4={},PIXI.mat4.create=function(){var t=new PIXI.Matrix(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},PIXI.mat3.multiply=function(t,e,i){i||(i=t);var r=t[0],s=t[1],n=t[2],o=t[3],h=t[4],a=t[5],c=t[6],u=t[7],d=t[8],l=e[0],I=e[1],f=e[2],p=e[3],v=e[4],g=e[5],x=e[6],P=e[7],b=e[8];return i[0]=l*r+I*o+f*c,i[1]=l*s+I*h+f*u,i[2]=l*n+I*a+f*d,i[3]=p*r+v*o+g*c,i[4]=p*s+v*h+g*u,i[5]=p*n+v*a+g*d,i[6]=x*r+P*o+b*c,i[7]=x*s+P*h+b*u,i[8]=x*n+P*a+b*d,i},PIXI.mat3.toMat4=function(t,e){return e||(e=PIXI.mat4.create()),e[15]=1,e[14]=0,e[13]=0,e[12]=0,e[11]=0,e[10]=t[8],e[9]=t[7],e[8]=t[6],e[7]=0,e[6]=t[5],e[5]=t[4],e[4]=t[3],e[3]=0,e[2]=t[2],e[1]=t[1],e[0]=t[0],e},PIXI.mat4.create=function(){var t=new PIXI.Matrix(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},PIXI.mat4.transpose=function(t,e){if(!e||t===e){var i=t[1],r=t[2],s=t[3],n=t[6],o=t[7],h=t[11];return t[1]=t[4],t[2]=t[8],t[3]=t[12],t[4]=i,t[6]=t[9],t[7]=t[13],t[8]=r,t[9]=n,t[11]=t[14],t[12]=s,t[13]=o,t[14]=h,t}return e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15],e},PIXI.mat4.multiply=function(t,e,i){i||(i=t);var r=t[0],s=t[1],n=t[2],o=t[3],h=t[4],a=t[5],c=t[6],u=t[7],d=t[8],l=t[9],I=t[10],f=t[11],p=t[12],v=t[13],g=t[14],x=t[15],P=e[0],b=e[1],m=e[2],X=e[3];return i[0]=P*r+b*h+m*d+X*p,i[1]=P*s+b*a+m*l+X*v,i[2]=P*n+b*c+m*I+X*g,i[3]=P*o+b*u+m*f+X*x,P=e[4],b=e[5],m=e[6],X=e[7],i[4]=P*r+b*h+m*d+X*p,i[5]=P*s+b*a+m*l+X*v,i[6]=P*n+b*c+m*I+X*g,i[7]=P*o+b*u+m*f+X*x,P=e[8],b=e[9],m=e[10],X=e[11],i[8]=P*r+b*h+m*d+X*p,i[9]=P*s+b*a+m*l+X*v,i[10]=P*n+b*c+m*I+X*g,i[11]=P*o+b*u+m*f+X*x,P=e[12],b=e[13],m=e[14],X=e[15],i[12]=P*r+b*h+m*d+X*p,i[13]=P*s+b*a+m*l+X*v,i[14]=P*n+b*c+m*I+X*g,i[15]=P*o+b*u+m*f+X*x,i},PIXI.autoDetectRenderer=function(t,e,i,r){t||(t=800),e||(e=600);var s=function(){try{return!!window.WebGLRenderingContext&&!!document.createElement("canvas").getContext("experimental-webgl")}catch(t){return!1}}();return s?new PIXI.WebGLRenderer(t,e,i,r):new PIXI.CanvasRenderer(t,e,i,r)},PIXI.shaderFragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying float vColor;","uniform sampler2D uSampler;","void main(void) {","gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y));","gl_FragColor = gl_FragColor * vColor;","}"],PIXI.shaderVertexSrc=["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aColor;","uniform mat4 uMVMatrix;","varying vec2 vTextureCoord;","varying float vColor;","void main(void) {","gl_Position = uMVMatrix * vec4(aVertexPosition, 1.0, 1.0);","vTextureCoord = aTextureCoord;","vColor = aColor;","}"],PIXI.CompileVertexShader=function(t,e){for(var i="",r=0;e.length>r;r++)i+=e[r];var s;return s=t.createShader(t.VERTEX_SHADER),t.shaderSource(s,i),t.compileShader(s),t.getShaderParameter(s,t.COMPILE_STATUS)?s:(alert(t.getShaderInfoLog(s)),null)},PIXI.CompileFragmentShader=function(t,e){for(var i="",r=0;e.length>r;r++)i+=e[r];var s;return s=t.createShader(t.FRAGMENT_SHADER),t.shaderSource(s,i),t.compileShader(s),t.getShaderParameter(s,t.COMPILE_STATUS)?s:(alert(t.getShaderInfoLog(s)),null)},PIXI._defaultFrame=new PIXI.Rectangle(0,0,1,1),PIXI.WebGLRenderer=function(t,e,i,r){this.transparent=!!r,this.width=t||800,this.height=e||600,this.view=i||document.createElement("canvas"),this.view.width=this.width,this.view.height=this.height;var s=this;this.view.addEventListener("webglcontextlost",function(t){s.handleContextLost(t)},!1),this.view.addEventListener("webglcontextrestored",function(t){s.handleContextRestored(t)},!1),this.batchs=[];try{this.gl=this.view.getContext("experimental-webgl",{alpha:this.transparent,antialias:!1,premultipliedAlpha:!1})}catch(n){throw Error(" This browser does not support webGL. Try using the canvas renderer"+this)}this.initShaders();var o=this.gl;this.batch=new PIXI.WebGLBatch(o),o.disable(o.DEPTH_TEST),o.enable(o.BLEND),o.colorMask(!0,!0,!0,this.transparent),this.projectionMatrix=PIXI.mat4.create(),this.resize(this.width,this.height),this.contextLost=!1},PIXI.WebGLRenderer.constructor=PIXI.WebGLRenderer,PIXI.WebGLRenderer.prototype.initShaders=function(){var t=this.gl,e=PIXI.CompileFragmentShader(t,PIXI.shaderFragmentSrc),i=PIXI.CompileVertexShader(t,PIXI.shaderVertexSrc);this.shaderProgram=t.createProgram();var r=this.shaderProgram;t.attachShader(r,i),t.attachShader(r,e),t.linkProgram(r),t.getProgramParameter(r,t.LINK_STATUS)||alert("Could not initialise shaders"),t.useProgram(r),r.vertexPositionAttribute=t.getAttribLocation(r,"aVertexPosition"),t.enableVertexAttribArray(r.vertexPositionAttribute),r.textureCoordAttribute=t.getAttribLocation(r,"aTextureCoord"),t.enableVertexAttribArray(r.textureCoordAttribute),r.colorAttribute=t.getAttribLocation(r,"aColor"),t.enableVertexAttribArray(r.colorAttribute),r.mvMatrixUniform=t.getUniformLocation(r,"uMVMatrix"),r.samplerUniform=t.getUniformLocation(r,"uSampler"),PIXI.shaderProgram=this.shaderProgram},PIXI.WebGLRenderer.prototype.checkVisibility=function(t,e){for(var i=t.children,r=0;i.length>r;r++){var s=i[r],n=s.visible&&e;s.textureChange&&(s.textureChange=!1,n&&(this.removeDisplayObject(s),this.addDisplayObject(s))),s.cacheVisible!=n&&(s.cacheVisible=n,s.cacheVisible?this.addDisplayObject(s):this.removeDisplayObject(s)),s.children.length>0&&this.checkVisibility(s,n)}},PIXI.WebGLRenderer.prototype.render=function(t){if(!this.contextLost){for(var e=0;t.__childrenRemoved.length>e;e++)this.removeDisplayObject(t.__childrenRemoved[e]);for(var e=0;PIXI.texturesToUpdate.length>e;e++)this.updateTexture(PIXI.texturesToUpdate[e]);t.__childrenRemoved=[],t.__childrenAdded=[],PIXI.texturesToUpdate=[],this.checkVisibility(t,!0),t.updateTransform();var i=this.gl;i.clear(i.COLOR_BUFFER_BIT),i.clearColor(t.backgroundColorSplit[0],t.backgroundColorSplit[1],t.backgroundColorSplit[2],0),i.blendFunc(i.ONE,i.ONE_MINUS_SRC_ALPHA),i.uniformMatrix4fv(this.shaderProgram.mvMatrixUniform,!1,this.projectionMatrix);for(var r,e=0;this.batchs.length>e;e++)r=this.batchs[e],r instanceof PIXI.WebGLBatch?this.batchs[e].render():r instanceof PIXI.Strip&&r.visible&&this.renderStrip(r);t.interactive&&(t._interactiveEventsAdded||(t._interactiveEventsAdded=!0,t.interactionManager.setTarget(this)))}},PIXI.WebGLRenderer.prototype.updateTexture=function(t){var e=this.gl;t._glTexture||(t._glTexture=e.createTexture()),t.hasLoaded&&(e.bindTexture(e.TEXTURE_2D,t._glTexture),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.source),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null)),this.refreshBatchs=!0},PIXI.WebGLRenderer.prototype.addDisplayObject=function(t){if(t.stage&&!t.__inWebGL&&(t.batch=null,t.renderable)){t.__inWebGL=!0;var e=t;do{if(0==e.childIndex)e=e.parent;else for(e=e.parent.children[e.childIndex-1];0!=e.children.length;)e=e.children[e.children.length-1];if(e==t.stage)break}while(!e.renderable||!e.__inWebGL);var i=t;do{if(0==i.children.length){for(;i.childIndex==i.parent.children.length-1;)if(i=i.parent,i==t.stage){i=null;break}i&&(i=i.parent.children[i.childIndex+1])}else i=i.children[0];if(!i)break}while(!i.renderable||!i.__inWebGL);if(t instanceof PIXI.Sprite){var r,s;if(e instanceof PIXI.Sprite){if(r=e.batch,r&&r.texture==t.texture.baseTexture&&r.blendMode==t.blendMode)return r.insertAfter(t,e),void 0}else r=e;if(i)if(i instanceof PIXI.Sprite){if(s=i.batch){if(s.texture==t.texture.baseTexture&&s.blendMode==t.blendMode)return s.insertBefore(t,i),void 0;if(s==r){var n=r.split(i),o=PIXI._getBatch(this.gl),h=this.batchs.indexOf(r);return o.init(t),this.batchs.splice(h+1,0,o,n),void 0}}}else s=i;var o=PIXI._getBatch(this.gl);if(o.init(t),r){var h=this.batchs.indexOf(r);this.batchs.splice(h+1,0,o)}else this.batchs.push(o)}else t instanceof PIXI.Strip&&(this.initStrip(t),this.batchs.push(t));this.batchUpdate=!0}},PIXI.WebGLRenderer.prototype.removeDisplayObject=function(t){if(t.cacheVisible=!1,t.renderable){t.__inWebGL=!1;var e;if(t instanceof PIXI.Sprite){var i=t.batch;if(!i)return;i.remove(t),0==i.size&&(e=i)}else e=t;if(e){var r=this.batchs.indexOf(e);if(-1==r)return;if(0==r||r==this.batchs.length-1)return this.batchs.splice(r,1),e instanceof PIXI.WebGLBatch&&PIXI._returnBatch(e),void 0;if(this.batchs[r-1]instanceof PIXI.WebGLBatch&&this.batchs[r+1]instanceof PIXI.WebGLBatch&&this.batchs[r-1].texture==this.batchs[r+1].texture&&this.batchs[r-1].blendMode==this.batchs[r+1].blendMode)return this.batchs[r-1].merge(this.batchs[r+1]),e instanceof PIXI.WebGLBatch&&PIXI._returnBatch(e),PIXI._returnBatch(this.batchs[r+1]),this.batchs.splice(r,2),void 0;this.batchs.splice(r,1),e instanceof PIXI.WebGLBatch&&PIXI._returnBatch(e)}}},PIXI.WebGLRenderer.prototype.resize=function(t,e){this.width=t,this.height=e,this.view.width=t,this.view.height=e,this.gl.viewport(0,0,this.width,this.height);var i=this.projectionMatrix;i[0]=2/this.width,i[5]=-2/this.height,i[12]=-1,i[13]=1},PIXI.WebGLRenderer.prototype.initStrip=function(t){var e=this.gl;this.shaderProgram,t._vertexBuffer=e.createBuffer(),t._indexBuffer=e.createBuffer(),t._uvBuffer=e.createBuffer(),t._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,t._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,t.verticies,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,t._uvBuffer),e.bufferData(e.ARRAY_BUFFER,t.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,t._colorBuffer),e.bufferData(e.ARRAY_BUFFER,t.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,t.indices,e.STATIC_DRAW)},PIXI.WebGLRenderer.prototype.renderStrip=function(t){var e=this.gl,i=this.shaderProgram,r=PIXI.mat3.toMat4(t.worldTransform);PIXI.mat4.transpose(r),PIXI.mat4.multiply(this.projectionMatrix,r,r),e.uniformMatrix4fv(this.shaderProgram.mvMatrixUniform,!1,r),t.blendMode==PIXI.blendModes.NORMAL?e.blendFunc(e.ONE,e.ONE_MINUS_SRC_ALPHA):e.blendFunc(e.ONE,e.ONE_MINUS_SRC_COLOR),t.dirty?(t.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,t._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,t.verticies,e.STATIC_DRAW),e.vertexAttribPointer(i.vertexPositionAttribute,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,t._uvBuffer),e.bufferData(e.ARRAY_BUFFER,t.uvs,e.STATIC_DRAW),e.vertexAttribPointer(i.textureCoordAttribute,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.texture.baseTexture._glTexture),e.bindBuffer(e.ARRAY_BUFFER,t._colorBuffer),e.bufferData(e.ARRAY_BUFFER,t.colors,e.STATIC_DRAW),e.vertexAttribPointer(i.colorAttribute,1,e.FLOAT,!1,0,0),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,t.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,t._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,t.verticies),e.vertexAttribPointer(i.vertexPositionAttribute,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,t._uvBuffer),e.vertexAttribPointer(i.textureCoordAttribute,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.texture.baseTexture._glTexture),e.bindBuffer(e.ARRAY_BUFFER,t._colorBuffer),e.vertexAttribPointer(i.colorAttribute,1,e.FLOAT,!1,0,0),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t._indexBuffer)),e.drawElements(e.TRIANGLE_STRIP,t.indices.length,e.UNSIGNED_SHORT,0),e.uniformMatrix4fv(this.shaderProgram.mvMatrixUniform,!1,this.projectionMatrix)},PIXI.WebGLRenderer.prototype.handleContextLost=function(t){t.preventDefault(),this.contextLost=!0},PIXI.WebGLRenderer.prototype.handleContextRestored=function(){this.gl=this.view.getContext("experimental-webgl",{alpha:!0}),this.initShaders();for(var t=0;PIXI.TextureCache.length>t;t++)this.updateTexture(PIXI.TextureCache[t]);for(var t=0;this.batchs.length>t;t++)this.batchs[t].restoreLostContext(this.gl),this.batchs[t].dirty=!0;PIXI._restoreBatchs(this.gl),this.contextLost=!1},PIXI._batchs=[],PIXI._getBatch=function(t){return 0==PIXI._batchs.length?new PIXI.WebGLBatch(t):PIXI._batchs.pop()},PIXI._returnBatch=function(t){t.clean(),PIXI._batchs.push(t)},PIXI._restoreBatchs=function(t){for(var e=0;PIXI._batchs.length>e;e++)PIXI._batchs[e].restoreLostContext(t)},PIXI.WebGLBatch=function(t){this.gl=t,this.size=0,this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.blendMode=PIXI.blendModes.NORMAL,this.dynamicSize=1},PIXI.WebGLBatch.constructor=PIXI.WebGLBatch,PIXI.WebGLBatch.prototype.clean=function(){this.verticies=[],this.uvs=[],this.indices=[],this.colors=[],this.dynamicSize=1,this.texture=null,this.last=null,this.size=0,this.head,this.tail},PIXI.WebGLBatch.prototype.restoreLostContext=function(t){this.gl=t,this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer()},PIXI.WebGLBatch.prototype.init=function(t){t.batch=this,this.dirty=!0,this.blendMode=t.blendMode,this.texture=t.texture.baseTexture,this.head=t,this.tail=t,this.size=1,this.growBatch()},PIXI.WebGLBatch.prototype.insertBefore=function(t,e){this.size++,t.batch=this,this.dirty=!0;var i=e.__prev;e.__prev=t,t.__next=e,i?(t.__prev=i,i.__next=t):this.head=t},PIXI.WebGLBatch.prototype.insertAfter=function(t,e){this.size++,t.batch=this,this.dirty=!0;var i=e.__next;e.__next=t,t.__prev=e,i?(t.__next=i,i.__prev=t):this.tail=t},PIXI.WebGLBatch.prototype.remove=function(t){return this.size--,0==this.size?(t.batch=null,t.__prev=null,t.__next=null,void 0):(t.__prev?t.__prev.__next=t.__next:(this.head=t.__next,this.head.__prev=null),t.__next?t.__next.__prev=t.__prev:(this.tail=t.__prev,this.tail.__next=null),t.batch=null,t.__next=null,t.__prev=null,this.dirty=!0,void 0)},PIXI.WebGLBatch.prototype.split=function(t){this.dirty=!0;var e=new PIXI.WebGLBatch(this.gl);e.init(t),e.tail=this.tail,this.tail=t.__prev,this.tail.__next=null,t.__prev=null;for(var i=0;t;)i++,t.batch=e,t=t.__next;return e.size=i,this.size-=i,e},PIXI.WebGLBatch.prototype.merge=function(t){this.dirty=!0,this.tail.__next=t.head,t.head.__prev=this.tail,this.size+=t.size,this.tail=t.tail;for(var e=t.head;e;)e.batch=this,e=e.__next},PIXI.WebGLBatch.prototype.growBatch=function(){var t=this.gl;this.dynamicSize=1==this.size?1:1.5*this.size,this.verticies=new Float32Array(8*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.verticies,t.DYNAMIC_DRAW),this.uvs=new Float32Array(8*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvs,t.DYNAMIC_DRAW),this.dirtyUVS=!0,this.colors=new Float32Array(4*this.dynamicSize),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colors,t.DYNAMIC_DRAW),this.dirtyColors=!0,this.indices=new Uint16Array(6*this.dynamicSize);for(var e=this.indices.length/6,i=0;e>i;i++){var r=6*i,s=4*i;this.indices[r+0]=s+0,this.indices[r+1]=s+1,this.indices[r+2]=s+2,this.indices[r+3]=s+0,this.indices[r+4]=s+2,this.indices[r+5]=s+3}t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.indices,t.STATIC_DRAW)},PIXI.WebGLBatch.prototype.refresh=function(){this.gl,this.dynamicSizen;n++)this.renderDisplayObject(t.children[n])}},PIXI.CanvasRenderer.prototype.renderStripFlat=function(t){var e=this.context,i=t.verticies;t.uvs;var r=i.length/2;this.count++,e.beginPath();for(var s=1;r-2>s;s++){var n=2*s,o=i[n],h=i[n+2],a=i[n+4],c=i[n+1],u=i[n+3],d=i[n+5];e.moveTo(o,c),e.lineTo(h,u),e.lineTo(a,d)}e.fillStyle="#FF0000",e.fill(),e.closePath()},PIXI.CanvasRenderer.prototype.renderStrip=function(t){var e=this.context,i=t.verticies,r=t.uvs,s=i.length/2;this.count++;for(var n=1;s-2>n;n++){var o=2*n,h=i[o],a=i[o+2],c=i[o+4],u=i[o+1],d=i[o+3],l=i[o+5],I=r[o]*t.texture.width,f=r[o+2]*t.texture.width,p=r[o+4]*t.texture.width,v=r[o+1]*t.texture.height,g=r[o+3]*t.texture.height,x=r[o+5]*t.texture.height;e.save(),e.beginPath(),e.moveTo(h,u),e.lineTo(a,d),e.lineTo(c,l),e.closePath(),e.clip();var P=I*g+v*p+f*x-g*p-v*f-I*x,b=h*g+v*c+a*x-g*c-v*a-h*x,m=I*a+h*p+f*c-a*p-h*f-I*c,X=I*g*c+v*a*p+h*f*x-h*g*p-v*f*c-I*a*x,y=u*g+v*l+d*x-g*l-v*d-u*x,T=I*d+u*p+f*l-d*p-u*f-I*l,_=I*g*l+v*d*p+u*f*x-u*g*p-v*f*l-I*d*x;e.transform(b/P,y/P,m/P,T/P,X/P,_/P),e.drawImage(t.texture.baseTexture.source,0,0),e.restore()}},PIXI.Strip=function(t,e,i){PIXI.DisplayObjectContainer.call(this),this.texture=t,this.blendMode=PIXI.blendModes.NORMAL;try{this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.verticies=new Float32Array([0,0,0,0,0,0,0,0,0]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3])}catch(r){this.uvs=[0,1,1,1,1,0,0,1],this.verticies=[0,0,0,0,0,0,0,0,0],this.colors=[1,1,1,1],this.indices=[0,1,2,3]}this.width=e,this.height=i,t.baseTexture.hasLoaded?(this.width=this.texture.frame.width,this.height=this.texture.frame.height,this.updateFrame=!0):(this.onTextureUpdateBind=this.onTextureUpdate.bind(this),this.texture.addEventListener("update",this.onTextureUpdateBind)),this.renderable=!0},PIXI.Strip.constructor=PIXI.Strip,PIXI.Strip.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Strip.prototype.setTexture=function(t){this.texture=t,this.width=t.frame.width,this.height=t.frame.height,this.updateFrame=!0},PIXI.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},PIXI.Rope=function(t,e){PIXI.Strip.call(this,t),this.points=e;try{this.verticies=new Float32Array(4*e.length),this.uvs=new Float32Array(4*e.length),this.colors=new Float32Array(2*e.length),this.indices=new Uint16Array(2*e.length)}catch(i){this.verticies=verticies,this.uvs=uvs,this.colors=colors,this.indices=indices}this.refresh()},PIXI.Rope.constructor=PIXI.Rope,PIXI.Rope.prototype=Object.create(PIXI.Strip.prototype),PIXI.Rope.prototype.refresh=function(){var t=this.points;if(!(1>t.length)){var e=this.uvs,i=this.indices,r=this.colors,s=t[0],n=t[0];this.count-=.2,e[0]=0,e[1]=1,e[2]=0,e[3]=1,r[0]=1,r[1]=1,i[0]=0,i[1]=1;for(var o=t.length,h=1;o>h;h++){var n=t[h],a=4*h,c=h/(o-1);h%2?(e[a]=c,e[a+1]=0,e[a+2]=c,e[a+3]=1):(e[a]=c,e[a+1]=0,e[a+2]=c,e[a+3]=1),a=2*h,r[a]=1,r[a+1]=1,a=2*h,i[a]=a,i[a+1]=a+1,s=n}}},PIXI.Rope.prototype.updateTransform=function(){var t=this.points;if(!(1>t.length)){var e,i=this.verticies,r=t[0],s={x:0,y:0},n=t[0];this.count-=.2,i[0]=n.x+s.x,i[1]=n.y+s.y,i[2]=n.x-s.x,i[3]=n.y-s.y;for(var o=t.length,h=1;o>h;h++){var n=t[h],a=4*h;e=t.length-1>h?t[h+1]:n,s.y=-(e.x-r.x),s.x=e.y-r.y;var c=10*(1-h/(o-1));c>1&&(c=1);var u=Math.sqrt(s.x*s.x+s.y*s.y),d=this.texture.height/2;s.x/=u,s.y/=u,s.x*=d,s.y*=d,i[a]=n.x+s.x,i[a+1]=n.y+s.y,i[a+2]=n.x-s.x,i[a+3]=n.y-s.y,r=n}PIXI.DisplayObjectContainer.prototype.updateTransform.call(this)}},PIXI.Rope.prototype.setTexture=function(t){this.texture=t,this.updateFrame=!0},PIXI.BaseTextureCache={},PIXI.texturesToUpdate=[],PIXI.BaseTexture=function(t){if(PIXI.EventTarget.call(this),this.width=100,this.height=100,this.source=t,this.source instanceof Image)if(this.source.complete)this.hasLoaded=!0,this.width=this.source.width,this.height=this.source.height,PIXI.texturesToUpdate.push(this);else{var e=this;this.source.onload=function(){e.hasLoaded=!0,e.width=e.source.width,e.height=e.source.height,PIXI.texturesToUpdate.push(e),e.dispatchEvent({type:"loaded",content:e})}}else this.hasLoaded=!0,this.width=this.source.width,this.height=this.source.height,PIXI.texturesToUpdate.push(this)},PIXI.BaseTexture.constructor=PIXI.BaseTexture,PIXI.BaseTexture.prototype.fromImage=function(){},PIXI.TextureCache={},PIXI.FrameCache={},PIXI.Texture=function(t,e){if(PIXI.EventTarget.call(this),e||(this.noFrame=!0,e=new PIXI.Rectangle(0,0,1,1)),this.trim=new PIXI.Point,this.baseTexture=t,this.frame=e,this.scope=this,t.hasLoaded)this.noFrame&&(e=new PIXI.Rectangle(0,0,t.width,t.height)),this.setFrame(e);else{var i=this;t.addEventListener("loaded",function(){i.onBaseTextureLoaded()})}},PIXI.Texture.constructor=PIXI.Texture,PIXI.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;t.removeEventListener("loaded",this.onLoaded),this.noFrame&&(this.frame=new PIXI.Rectangle(0,0,t.width,t.height)),this.noFrame=!1,this.width=this.frame.width,this.height=this.frame.height,this.scope.dispatchEvent({type:"update",content:this})},PIXI.Texture.prototype.setFrame=function(t){if(this.frame=t,this.width=t.width,this.height=t.height,t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height)throw Error("Texture Error: frame does not fit inside the base Texture dimensions "+this)},PIXI.Texture.fromImage=function(t,e){var i=PIXI.TextureCache[t];if(!i){var r=PIXI.BaseTextureCache[t];if(!r){var s=new Image;e&&(s.crossOrigin=""),s.src=t,r=new PIXI.BaseTexture(s),PIXI.BaseTextureCache[t]=r}i=new PIXI.Texture(r),PIXI.TextureCache[t]=i}return i},PIXI.Texture.fromFrame=function(t){var e=PIXI.TextureCache[t];if(!e)throw Error("The frameId '"+t+"' does not exist in the texture cache "+this);return e},PIXI.Texture.fromCanvas=function(t){var e=PIXI.TextureCache[t];if(!e){var i=PIXI.BaseTextureCache[t];i||(i=new PIXI.BaseTexture(t),PIXI.BaseTextureCache[t]=i),e=new PIXI.Texture(i),PIXI.TextureCache[t]=e}return e},PIXI.Texture.addTextureToCache=function(t,e){PIXI.TextureCache[e]=t},PIXI.Texture.removeTextureFromCache=function(t){var e=PIXI.TextureCache[t];return PIXI.TextureCache[t]=null,e},PIXI.SpriteSheetLoader=function(t){PIXI.EventTarget.call(this),this.url=t,this.baseUrl=t.replace(/[^\/]*$/,""),this.texture,this.frames={},this.crossorigin=!1},PIXI.SpriteSheetLoader.constructor=PIXI.SpriteSheetLoader,PIXI.SpriteSheetLoader.prototype.load=function(){this.ajaxRequest=new AjaxRequest;var t=this;this.ajaxRequest.onreadystatechange=function(){t.onLoaded()},this.ajaxRequest.open("GET",this.url,!0),this.ajaxRequest.overrideMimeType&&this.ajaxRequest.overrideMimeType("application/json"),this.ajaxRequest.send(null)},PIXI.SpriteSheetLoader.prototype.onLoaded=function(){if(4==this.ajaxRequest.readyState&&(200==this.ajaxRequest.status||-1==window.location.href.indexOf("http"))){var jsondata=eval("("+this.ajaxRequest.responseText+")"),textureUrl=this.baseUrl+jsondata.meta.image;this.texture=PIXI.Texture.fromImage(textureUrl,this.crossorigin).baseTexture;var frameData=jsondata.frames;for(var i in frameData){var rect=frameData[i].frame;PIXI.TextureCache[i]=new PIXI.Texture(this.texture,{x:rect.x,y:rect.y,width:rect.w,height:rect.h}),frameData[i].trimmed&&(PIXI.TextureCache[i].realSize=frameData[i].spriteSourceSize,PIXI.TextureCache[i].trim.x=0)}if(this.texture.hasLoaded)this.dispatchEvent({type:"loaded",content:this});else{var scope=this;this.texture.addEventListener("loaded",function(){scope.dispatchEvent({type:"loaded",content:scope})})}}},PIXI.AssetLoader=function(t){PIXI.EventTarget.call(this),this.assetURLs=t,this.assets=[],this.crossorigin=!1},PIXI.AssetLoader.constructor=PIXI.AssetLoader,PIXI.AssetLoader.prototype.load=function(){this.loadCount=this.assetURLs.length;for(var t=["jpeg","jpg","png","gif"],e=["json"],i=0;this.assetURLs.length>i;i++){for(var r=this.assetURLs[i],s=r.split(".").pop().toLowerCase(),n=null,o=0;t.length>o;o++)if(s==t[o]){n="img";break}if("img"!=n)for(var o=0;e.length>o;o++)if(s==e[o]){n="atlas";break}if("img"==n){var h=PIXI.Texture.fromImage(r,this.crossorigin);if(h.baseTexture.hasLoaded)this.loadCount--,0==this.loadCount&&(this.dispatchEvent({type:"onComplete",content:this}),this.onComplete&&this.onComplete());else{var a=this;h.baseTexture.addEventListener("loaded",function(){a.onAssetLoaded()}),this.assets.push(h)}}else{if("atlas"!=n)throw Error(r+" is an unsupported file type "+this);var c=new PIXI.SpriteSheetLoader(r);c.crossorigin=this.crossorigin,this.assets.push(c);var a=this;c.addEventListener("loaded",function(){a.onAssetLoaded()}),c.load()}}},PIXI.AssetLoader.prototype.onAssetLoaded=function(){this.loadCount--,this.dispatchEvent({type:"onProgress",content:this}),this.onProgress&&this.onProgress(),0==this.loadCount&&(this.dispatchEvent({type:"onComplete",content:this}),this.onComplete&&this.onComplete())}; \ No newline at end of file diff --git a/examples/example 1 - Basics/index.html b/examples/example 1 - Basics/index.html index b0e7c03..805dadf 100644 --- a/examples/example 1 - Basics/index.html +++ b/examples/example 1 - Basics/index.html @@ -10,6 +10,7 @@ } + + + + + + + + + +