mirror of
https://github.com/wassname/phaser.git
synced 2026-06-27 16:10:15 +08:00
5d5c64d22f
After defining tiles that collide on a Tilemap, you need to call Tilemap.generateCollisionData(layer) to populate the physics world with the data required. Debug.renderPhysicsBody updated to take camera location and body rotation into account. Body movement functions put back to velocity :) Updated to latest dev version of pixi and latest p2.js Updated docs
837 lines
21 KiB
HTML
837 lines
21 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Phaser Source: animation/AnimationParser.js</title>
|
|
|
|
<!--[if lt IE 9]>
|
|
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
|
|
<![endif]-->
|
|
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
|
|
|
|
|
|
<link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container-fluid">
|
|
<div class="navbar navbar-fixed-top navbar-inverse">
|
|
<div class="navbar-inner">
|
|
<a class="brand" href="index.html">Phaser</a>
|
|
<ul class="nav">
|
|
|
|
<li class="dropdown">
|
|
<a href="namespaces.list.html" class="dropdown-toggle" data-toggle="dropdown">Namespaces<b
|
|
class="caret"></b></a>
|
|
|
|
<ul class="dropdown-menu ">
|
|
|
|
<li>
|
|
<a href="Phaser.html">Phaser</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="dropdown">
|
|
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b
|
|
class="caret"></b></a>
|
|
|
|
<ul class="dropdown-menu ">
|
|
|
|
<li>
|
|
<a href="Phaser.Animation.html">Animation</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.AnimationManager.html">AnimationManager</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.AnimationParser.html">AnimationParser</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.BitmapData.html">BitmapData</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.BitmapFont.html">BitmapFont</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.BitmapText.html">BitmapText</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Button.html">Button</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Cache.html">Cache</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Camera.html">Camera</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Canvas.html">Canvas</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Circle.html">Circle</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Color.html">Color</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Device.html">Device</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.html">Easing</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Back.html">Back</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Bounce.html">Bounce</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Circular.html">Circular</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Cubic.html">Cubic</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Elastic.html">Elastic</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Exponential.html">Exponential</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Linear.html">Linear</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Quadratic.html">Quadratic</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Quartic.html">Quartic</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Quintic.html">Quintic</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Easing.Sinusoidal.html">Sinusoidal</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Ellipse.html">Ellipse</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Events.html">Events</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Filter.html">Filter</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Frame.html">Frame</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.FrameData.html">FrameData</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Game.html">Game</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.GameObjectFactory.html">GameObjectFactory</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Gamepad.html">Gamepad</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.GamepadButton.html">GamepadButton</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Graphics.html">Graphics</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Group.html">Group</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Image.html">Image</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Input.html">Input</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.InputHandler.html">InputHandler</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Key.html">Key</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Keyboard.html">Keyboard</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Line.html">Line</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.LinkedList.html">LinkedList</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Loader.html">Loader</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.LoaderParser.html">LoaderParser</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Math.html">Math</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Mouse.html">Mouse</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.MSPointer.html">MSPointer</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Net.html">Net</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Particles.html">Particles</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Particles.Arcade.Emitter.html">Emitter</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Physics.html">Physics</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Physics.Arcade.html">Arcade</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Plugin.html">Plugin</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.PluginManager.html">PluginManager</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Point.html">Point</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Pointer.html">Pointer</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Polygon.html">Polygon</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.QuadTree.html">QuadTree</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.RandomDataGenerator.html">RandomDataGenerator</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Rectangle.html">Rectangle</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.RenderTexture.html">RenderTexture</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.RequestAnimationFrame.html">RequestAnimationFrame</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Signal.html">Signal</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.SinglePad.html">SinglePad</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Sound.html">Sound</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.SoundManager.html">SoundManager</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Sprite.html">Sprite</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.SpriteBatch.html">SpriteBatch</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Stage.html">Stage</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.StageScaleMode.html">StageScaleMode</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.State.html">State</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.StateManager.html">StateManager</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Text.html">Text</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Tile.html">Tile</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Tilemap.html">Tilemap</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.TilemapLayer.html">TilemapLayer</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.TilemapParser.html">TilemapParser</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Tileset.html">Tileset</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.TileSprite.html">TileSprite</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Time.html">Time</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Timer.html">Timer</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.TimerEvent.html">TimerEvent</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Touch.html">Touch</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Tween.html">Tween</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.TweenManager.html">TweenManager</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Utils.html">Utils</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.Utils.Debug.html">Debug</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="Phaser.World.html">World</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="SignalBinding.html">SignalBinding</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
<li class="dropdown">
|
|
<a href="global.html" class="dropdown-toggle" data-toggle="dropdown">Global<b
|
|
class="caret"></b></a>
|
|
|
|
<ul class="dropdown-menu ">
|
|
|
|
<li>
|
|
<a href="global.html#canUseNewCanvasBlendModes">canUseNewCanvasBlendModes</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="global.html#getBounds">getBounds</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="global.html#getNextPowerOfTwo">getNextPowerOfTwo</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="global.html#hex2rgb">hex2rgb</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="global.html#hitTest">hitTest</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="global.html#rgb2hex">rgb2hex</a>
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
</li>
|
|
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row-fluid">
|
|
|
|
|
|
<div class="span12">
|
|
|
|
<div id="main">
|
|
|
|
|
|
|
|
<h1 class="page-title">Source: animation/AnimationParser.js</h1>
|
|
|
|
<section>
|
|
<article>
|
|
<pre class="sunlight-highlight-javascript linenums">/**
|
|
* @author Richard Davey <rich@photonstorm.com>
|
|
* @copyright 2014 Photon Storm Ltd.
|
|
* @license {@link https://github.com/photonstorm/phaser/blob/master/license.txt|MIT License}
|
|
*/
|
|
|
|
/**
|
|
* Responsible for parsing sprite sheet and JSON data into the internal FrameData format that Phaser uses for animations.
|
|
*
|
|
* @class Phaser.AnimationParser
|
|
*/
|
|
Phaser.AnimationParser = {
|
|
|
|
/**
|
|
* Parse a Sprite Sheet and extract the animation frame data from it.
|
|
*
|
|
* @method Phaser.AnimationParser.spriteSheet
|
|
* @param {Phaser.Game} game - A reference to the currently running game.
|
|
* @param {string} key - The Game.Cache asset key of the Sprite Sheet image.
|
|
* @param {number} frameWidth - The fixed width of each frame of the animation.
|
|
* @param {number} frameHeight - The fixed height of each frame of the animation.
|
|
* @param {number} [frameMax=-1] - The total number of animation frames to extact from the Sprite Sheet. The default value of -1 means "extract all frames".
|
|
* @param {number} [margin=0] - If the frames have been drawn with a margin, specify the amount here.
|
|
* @param {number} [spacing=0] - If the frames have been drawn with spacing between them, specify the amount here.
|
|
* @return {Phaser.FrameData} A FrameData object containing the parsed frames.
|
|
*/
|
|
spriteSheet: function (game, key, frameWidth, frameHeight, frameMax, margin, spacing) {
|
|
|
|
// How big is our image?
|
|
var img = game.cache.getImage(key);
|
|
|
|
if (img == null)
|
|
{
|
|
return null;
|
|
}
|
|
|
|
var width = img.width;
|
|
var height = img.height;
|
|
|
|
if (frameWidth <= 0)
|
|
{
|
|
frameWidth = Math.floor(-width / Math.min(-1, frameWidth));
|
|
}
|
|
|
|
if (frameHeight <= 0)
|
|
{
|
|
frameHeight = Math.floor(-height / Math.min(-1, frameHeight));
|
|
}
|
|
|
|
var row = Math.round(width / frameWidth);
|
|
var column = Math.round(height / frameHeight);
|
|
var total = row * column;
|
|
|
|
if (frameMax !== -1)
|
|
{
|
|
total = frameMax;
|
|
}
|
|
|
|
// Zero or smaller than frame sizes?
|
|
if (width === 0 || height === 0 || width < frameWidth || height < frameHeight || total === 0)
|
|
{
|
|
console.warn("Phaser.AnimationParser.spriteSheet: width/height zero or width/height < given frameWidth/frameHeight");
|
|
return null;
|
|
}
|
|
|
|
// Let's create some frames then
|
|
var data = new Phaser.FrameData();
|
|
var x = margin;
|
|
var y = margin;
|
|
|
|
for (var i = 0; i < total; i++)
|
|
{
|
|
var uuid = game.rnd.uuid();
|
|
|
|
data.addFrame(new Phaser.Frame(i, x, y, frameWidth, frameHeight, '', uuid));
|
|
|
|
PIXI.TextureCache[uuid] = new PIXI.Texture(PIXI.BaseTextureCache[key], {
|
|
x: x,
|
|
y: y,
|
|
width: frameWidth,
|
|
height: frameHeight
|
|
});
|
|
|
|
x += frameWidth + spacing;
|
|
|
|
if (x === width)
|
|
{
|
|
x = margin;
|
|
y += frameHeight + spacing;
|
|
}
|
|
}
|
|
|
|
return data;
|
|
|
|
},
|
|
|
|
/**
|
|
* Parse the JSON data and extract the animation frame data from it.
|
|
*
|
|
* @method Phaser.AnimationParser.JSONData
|
|
* @param {Phaser.Game} game - A reference to the currently running game.
|
|
* @param {Object} json - The JSON data from the Texture Atlas. Must be in Array format.
|
|
* @param {string} cacheKey - The Game.Cache asset key of the texture image.
|
|
* @return {Phaser.FrameData} A FrameData object containing the parsed frames.
|
|
*/
|
|
JSONData: function (game, json, cacheKey) {
|
|
|
|
// Malformed?
|
|
if (!json['frames'])
|
|
{
|
|
console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array");
|
|
console.log(json);
|
|
return;
|
|
}
|
|
|
|
// Let's create some frames then
|
|
var data = new Phaser.FrameData();
|
|
|
|
// By this stage frames is a fully parsed array
|
|
var frames = json['frames'];
|
|
var newFrame;
|
|
|
|
for (var i = 0; i < frames.length; i++)
|
|
{
|
|
var uuid = game.rnd.uuid();
|
|
|
|
newFrame = data.addFrame(new Phaser.Frame(
|
|
i,
|
|
frames[i].frame.x,
|
|
frames[i].frame.y,
|
|
frames[i].frame.w,
|
|
frames[i].frame.h,
|
|
frames[i].filename,
|
|
uuid
|
|
));
|
|
|
|
PIXI.TextureCache[uuid] = new PIXI.Texture(PIXI.BaseTextureCache[cacheKey], {
|
|
x: frames[i].frame.x,
|
|
y: frames[i].frame.y,
|
|
width: frames[i].frame.w,
|
|
height: frames[i].frame.h
|
|
});
|
|
|
|
if (frames[i].trimmed)
|
|
{
|
|
newFrame.setTrim(
|
|
frames[i].trimmed,
|
|
frames[i].sourceSize.w,
|
|
frames[i].sourceSize.h,
|
|
frames[i].spriteSourceSize.x,
|
|
frames[i].spriteSourceSize.y,
|
|
frames[i].spriteSourceSize.w,
|
|
frames[i].spriteSourceSize.h
|
|
);
|
|
|
|
PIXI.TextureCache[uuid].trim = new Phaser.Rectangle(frames[i].spriteSourceSize.x, frames[i].spriteSourceSize.y, frames[i].sourceSize.w, frames[i].sourceSize.h);
|
|
}
|
|
|
|
}
|
|
|
|
return data;
|
|
|
|
},
|
|
|
|
/**
|
|
* Parse the JSON data and extract the animation frame data from it.
|
|
*
|
|
* @method Phaser.AnimationParser.JSONDataHash
|
|
* @param {Phaser.Game} game - A reference to the currently running game.
|
|
* @param {Object} json - The JSON data from the Texture Atlas. Must be in JSON Hash format.
|
|
* @param {string} cacheKey - The Game.Cache asset key of the texture image.
|
|
* @return {Phaser.FrameData} A FrameData object containing the parsed frames.
|
|
*/
|
|
JSONDataHash: function (game, json, cacheKey) {
|
|
|
|
// Malformed?
|
|
if (!json['frames'])
|
|
{
|
|
console.warn("Phaser.AnimationParser.JSONDataHash: Invalid Texture Atlas JSON given, missing 'frames' object");
|
|
console.log(json);
|
|
return;
|
|
}
|
|
|
|
// Let's create some frames then
|
|
var data = new Phaser.FrameData();
|
|
|
|
// By this stage frames is a fully parsed array
|
|
var frames = json['frames'];
|
|
var newFrame;
|
|
var i = 0;
|
|
|
|
for (var key in frames)
|
|
{
|
|
var uuid = game.rnd.uuid();
|
|
|
|
newFrame = data.addFrame(new Phaser.Frame(
|
|
i,
|
|
frames[key].frame.x,
|
|
frames[key].frame.y,
|
|
frames[key].frame.w,
|
|
frames[key].frame.h,
|
|
key,
|
|
uuid
|
|
));
|
|
|
|
PIXI.TextureCache[uuid] = new PIXI.Texture(PIXI.BaseTextureCache[cacheKey], {
|
|
x: frames[key].frame.x,
|
|
y: frames[key].frame.y,
|
|
width: frames[key].frame.w,
|
|
height: frames[key].frame.h
|
|
});
|
|
|
|
if (frames[key].trimmed)
|
|
{
|
|
newFrame.setTrim(
|
|
frames[key].trimmed,
|
|
frames[key].sourceSize.w,
|
|
frames[key].sourceSize.h,
|
|
frames[key].spriteSourceSize.x,
|
|
frames[key].spriteSourceSize.y,
|
|
frames[key].spriteSourceSize.w,
|
|
frames[key].spriteSourceSize.h
|
|
);
|
|
|
|
PIXI.TextureCache[uuid].trim = new Phaser.Rectangle(frames[key].spriteSourceSize.x, frames[key].spriteSourceSize.y, frames[key].sourceSize.w, frames[key].sourceSize.h);
|
|
}
|
|
|
|
i++;
|
|
}
|
|
|
|
return data;
|
|
|
|
},
|
|
|
|
/**
|
|
* Parse the XML data and extract the animation frame data from it.
|
|
*
|
|
* @method Phaser.AnimationParser.XMLData
|
|
* @param {Phaser.Game} game - A reference to the currently running game.
|
|
* @param {Object} xml - The XML data from the Texture Atlas. Must be in Starling XML format.
|
|
* @param {string} cacheKey - The Game.Cache asset key of the texture image.
|
|
* @return {Phaser.FrameData} A FrameData object containing the parsed frames.
|
|
*/
|
|
XMLData: function (game, xml, cacheKey) {
|
|
|
|
// Malformed?
|
|
if (!xml.getElementsByTagName('TextureAtlas'))
|
|
{
|
|
console.warn("Phaser.AnimationParser.XMLData: Invalid Texture Atlas XML given, missing <TextureAtlas> tag");
|
|
return;
|
|
}
|
|
|
|
// Let's create some frames then
|
|
var data = new Phaser.FrameData();
|
|
var frames = xml.getElementsByTagName('SubTexture');
|
|
var newFrame;
|
|
|
|
var uuid;
|
|
var name;
|
|
var frame;
|
|
var x;
|
|
var y;
|
|
var width;
|
|
var height;
|
|
var frameX;
|
|
var frameY;
|
|
var frameWidth;
|
|
var frameHeight;
|
|
|
|
for (var i = 0; i < frames.length; i++)
|
|
{
|
|
uuid = game.rnd.uuid();
|
|
|
|
frame = frames[i].attributes;
|
|
|
|
name = frame.name.nodeValue;
|
|
x = parseInt(frame.x.nodeValue, 10);
|
|
y = parseInt(frame.y.nodeValue, 10);
|
|
width = parseInt(frame.width.nodeValue, 10);
|
|
height = parseInt(frame.height.nodeValue, 10);
|
|
|
|
frameX = null;
|
|
frameY = null;
|
|
|
|
if (frame.frameX)
|
|
{
|
|
frameX = Math.abs(parseInt(frame.frameX.nodeValue, 10));
|
|
frameY = Math.abs(parseInt(frame.frameY.nodeValue, 10));
|
|
frameWidth = parseInt(frame.frameWidth.nodeValue, 10);
|
|
frameHeight = parseInt(frame.frameHeight.nodeValue, 10);
|
|
}
|
|
|
|
newFrame = data.addFrame(new Phaser.Frame(i, x, y, width, height, name, uuid));
|
|
|
|
PIXI.TextureCache[uuid] = new PIXI.Texture(PIXI.BaseTextureCache[cacheKey], {
|
|
x: x,
|
|
y: y,
|
|
width: width,
|
|
height: height
|
|
});
|
|
|
|
// Trimmed?
|
|
if (frameX !== null || frameY !== null)
|
|
{
|
|
newFrame.setTrim(true, width, height, frameX, frameY, frameWidth, frameHeight);
|
|
|
|
PIXI.TextureCache[uuid].trim = new Phaser.Rectangle(frameX, frameY, width, height);
|
|
}
|
|
}
|
|
|
|
return data;
|
|
|
|
}
|
|
|
|
};
|
|
</pre>
|
|
</article>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="clearfix"></div>
|
|
<footer>
|
|
|
|
|
|
<span class="copyright">
|
|
Phaser Copyright © 2012-2014 Photon Storm Ltd.
|
|
</span>
|
|
<br />
|
|
|
|
<span class="jsdoc-message">
|
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-dev</a>
|
|
on Tue Feb 18 2014 03:01:16 GMT-0000 (GMT) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
|
|
</span>
|
|
</footer>
|
|
</div>
|
|
|
|
|
|
<br clear="both">
|
|
</div>
|
|
|
|
</div>
|
|
<script src="scripts/sunlight.js"></script>
|
|
<script src="scripts/sunlight.javascript.js"></script>
|
|
<script src="scripts/sunlight-plugin.doclinks.js"></script>
|
|
<script src="scripts/sunlight-plugin.linenumbers.js"></script>
|
|
<script src="scripts/sunlight-plugin.menu.js"></script>
|
|
<script src="scripts/jquery.min.js"></script>
|
|
<script src="scripts/jquery.scrollTo.js"></script>
|
|
<script src="scripts/jquery.localScroll.js"></script>
|
|
<script src="scripts/bootstrap-dropdown.js"></script>
|
|
<script src="scripts/toc.js"></script>
|
|
|
|
|
|
<script> Sunlight.highlightAll({lineNumbers:true, showMenu: true, enableDoclinks :true}); </script>
|
|
|
|
<script>
|
|
$( function () {
|
|
$( "#toc" ).toc( {
|
|
selectors : "h1,h2,h3,h4",
|
|
showAndHide : false,
|
|
scrollTo : 60
|
|
} );
|
|
$( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
|
|
$( "#main span[id^='toc']" ).addClass( "toc-shim" );
|
|
|
|
} );
|
|
</script>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|