# Class: AnimationParser

## Phaser. AnimationParser

#### new AnimationParser()

  Responsible for parsing sprite sheet and JSON data into the internal FrameData format that Phaser uses for animations.

  Source:
    - animation/AnimationParser.js, line 3

### Methods

#### <static> JSONData(game, json, cacheKey) → {Phaser.FrameData}

  Parse the JSON data and extract the animation frame data from it.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `game` | Phaser.Game | A reference to the currently running game.
  `json` | Object | The JSON data from the Texture Atlas. Must be in Array format.
  `cacheKey` | string | The Game.Cache asset key of the texture image.

  Source:
    - animation/AnimationParser.js, line 97

  ##### Returns:

  A FrameData object containing the parsed frames.

  Type
    Phaser.FrameData

#### <static> JSONDataHash(game, json, cacheKey) → {Phaser.FrameData}

  Parse the JSON data and extract the animation frame data from it.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `game` | Phaser.Game | A reference to the currently running game.
  `json` | Object | The JSON data from the Texture Atlas. Must be in JSON Hash format.
  `cacheKey` | string | The Game.Cache asset key of the texture image.

  Source:
    - animation/AnimationParser.js, line 165

  ##### Returns:

  A FrameData object containing the parsed frames.

  Type
    Phaser.FrameData

#### <static> spriteSheet(game, key, frameWidth, frameHeight, frameMax, margin, spacing) → {Phaser.FrameData}

  Parse a Sprite Sheet and extract the animation frame data from it.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `game` | Phaser.Game |  |  | A reference to the currently running game.
  `key` | string |  |  | The Game.Cache asset key of the Sprite Sheet image.
  `frameWidth` | number |  |  | The fixed width of each frame of the animation.
  `frameHeight` | number |  |  | The fixed height of each frame of the animation.
  `frameMax` | number | <optional> | -1 | The total number of animation frames to extact from the Sprite Sheet. The default value of -1 means "extract all frames".
  `margin` | number | <optional> | 0 | If the frames have been drawn with a margin, specify the amount here.
  `spacing` | number | <optional> | 0 | If the frames have been drawn with spacing between them, specify the amount here.

  Source:
    - animation/AnimationParser.js, line 14

  ##### Returns:

  A FrameData object containing the parsed frames.

  Type
    Phaser.FrameData

#### <static> XMLData(game, xml, cacheKey) → {Phaser.FrameData}

  Parse the XML data and extract the animation frame data from it.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `game` | Phaser.Game | A reference to the currently running game.
  `xml` | Object | The XML data from the Texture Atlas. Must be in Starling XML format.
  `cacheKey` | string | The Game.Cache asset key of the texture image.

  Source:
    - animation/AnimationParser.js, line 235

  ##### Returns:

  A FrameData object containing the parsed frames.

  Type
    Phaser.FrameData