Browse Source

added falling scooters animation

master
dennisdebel 4 years ago
parent
commit
5d46827ab8
  1. 14
      graphics/falling-scooters/README.md
  2. 175
      graphics/falling-scooters/assets/fruit-shapes.json
  3. 146
      graphics/falling-scooters/assets/fruit-sprites.json
  4. BIN
      graphics/falling-scooters/assets/fruit-sprites.png
  5. 1
      graphics/falling-scooters/assets/scooter-wrong.json
  6. BIN
      graphics/falling-scooters/fruit-sprites/background.png
  7. BIN
      graphics/falling-scooters/fruit-sprites/banana.png
  8. BIN
      graphics/falling-scooters/fruit-sprites/cherries.png
  9. BIN
      graphics/falling-scooters/fruit-sprites/crate.png
  10. BIN
      graphics/falling-scooters/fruit-sprites/ground.png
  11. BIN
      graphics/falling-scooters/fruit-sprites/orange.png
  12. 39
      graphics/falling-scooters/index.html
  13. 56
      graphics/falling-scooters/index.js
  14. 1
      graphics/falling-scooters/phaser.min.js
  15. BIN
      graphics/falling-scooters/shapes.pes
  16. 267
      graphics/falling-scooters/spritesheet.tps

14
graphics/falling-scooters/README.md

@ -0,0 +1,14 @@
# Phaser 3 + MatterJS example
This respository contains the example source code for the [How to create physics shapes for Phaser 3 and Matter JS](https://www.codeandweb.com/physicseditor/tutorials/how-to-create-physics-shapes-for-phaser-3-and-matterjs) tutorial.
The tutorial explains:
* How to build a scene with Phaser 3 and MatterJS physics
* How to create simple collision shapes like rectangles and circles
* How to automatically create complex physics shapes
Screenshot of the example:
![Phaser 3 Physics Demo with MatterJS](screenshot.png)

175
graphics/falling-scooters/assets/fruit-shapes.json

@ -0,0 +1,175 @@
{
"banana": {
"type": "fromPhysicsEditor",
"label": "banana",
"isStatic": false,
"density": 0.1,
"restitution": 0.1,
"friction": 0.1,
"frictionAir": 0.01,
"frictionStatic": 0.5,
"collisionFilter": {
"group": 0,
"category": 1,
"mask": 255
},
"fixtures": [
{
"label": "banana-fixture",
"isSensor": false,
"vertices": [
[ { "x":107, "y":2 }, { "x":95.26110076904297, "y":0.6820602416992188 }, { "x":89, "y":6 }, { "x":94.2380142211914, "y":23.872116088867188 }, { "x":104, "y":22 } ],
[ { "x":4, "y":94 }, { "x":1, "y":105 }, { "x":23.985790252685547, "y":119.92895221710205 }, { "x":50, "y":128 }, { "x":27, "y":94 } ],
[ { "x":27, "y":94 }, { "x":50, "y":128 }, { "x":79, "y":123 }, { "x":102, "y":110 }, { "x":67, "y":83 } ],
[ { "x":67, "y":83 }, { "x":102, "y":110 }, { "x":118.56483459472656, "y":88.44049835205078 }, { "x":126, "y":66 }, { "x":123, "y":40 }, { "x":91, "y":48 } ],
[ { "x":123, "y":40 }, { "x":104, "y":22 }, { "x":94.2380142211914, "y":23.872116088867188 }, { "x":91, "y":48 } ]
]
}
]
},
"cherries": {
"type": "fromPhysicsEditor",
"label": "cherries",
"isStatic": false,
"density": 0.10000000149011612,
"restitution": 0.1,
"friction": 0.10000000149011612,
"frictionAir": 0.009999999776482582,
"frictionStatic": 0.5,
"collisionFilter": {
"group": 0,
"category": 1,
"mask": 255
},
"fixtures": [
{
"label": "cherry-left",
"isSensor": false,
"circle": {
"x": 38.67625899280576,
"y": 100.92661870503598,
"radius": 25.16224146143038
}
},
{
"label": "cherry-right",
"isSensor": false,
"circle": {
"x": 97.79568345323742,
"y": 102.95251798561152,
"radius": 25.16224146143038
}
},
{
"label": "cherry-stem",
"isSensor": false,
"vertices": [
[ { "x":7, "y":8 }, { "x":32, "y":35 }, { "x":61, "y":36 }, { "x":85.0877685546875, "y":32.59856414794922 }, { "x":77, "y":19 }, { "x":58, "y":5 } ],
[ { "x":85, "y":13 }, { "x":77, "y":19 }, { "x":85.0877685546875, "y":32.59856414794922 }, { "x":93, "y":22 } ],
[ { "x":85.0877685546875, "y":32.59856414794922 }, { "x":61, "y":36 }, { "x":43, "y":58 }, { "x":41, "y":75 }, { "x":84.16690826416016, "y":53.778419494628906 } ],
[ { "x":90, "y":78 }, { "x":84.16690826416016, "y":53.778419494628906 }, { "x":41, "y":75 } ]
]
}
]
},
"crate": {
"type": "fromPhysicsEditor",
"label": "create",
"isStatic": false,
"density": 0.7999999999999999,
"restitution": 0.1,
"friction": 0.10000000149011612,
"frictionAir": 0.009999999776482582,
"frictionStatic": 0.5,
"collisionFilter": {
"group": 0,
"category": 1,
"mask": 255
},
"fixtures": [
{
"label": "crate-fixture",
"isSensor": false,
"vertices": [
[ { "x":5, "y":9 }, { "x":5.115452766418457, "y":36.0355224609375 }, { "x":8.980462074279785, "y":36.376556396484375 }, { "x":120.61101531982422, "y":38.309059143066406 }, { "x":124, "y":36 }, { "x":124, "y":9 } ],
[ { "x":8, "y":128 }, { "x":123, "y":128 }, { "x":123, "y":105 }, { "x":120.15630340576172, "y":104.46891593933105 }, { "x":10.79928970336914, "y":103.67317962646484 }, { "x":7.73001766204834, "y":104.92362403869629 } ],
[ { "x":120.15630340576172, "y":104.46891593933105 }, { "x":120.61101531982422, "y":38.309059143066406 }, { "x":8.980462074279785, "y":36.376556396484375 }, { "x":10.79928970336914, "y":103.67317962646484 } ]
]
}
]
},
"orange": {
"type": "fromPhysicsEditor",
"label": "orange",
"isStatic": false,
"density": 0.1,
"restitution": 0.1,
"friction": 0.10000000149011612,
"frictionAir": 0.009999999776482582,
"frictionStatic": 0.5,
"collisionFilter": {
"group": 0,
"category": 1,
"mask": 255
},
"fixtures": [
{
"label": "orange-fixture",
"isSensor": false,
"circle": {
"x": 64.46043165467627,
"y": 67.0388489208633,
"radius": 61.12368896735685
}
}
]
},
"ground": {
"type": "fromPhysicsEditor",
"label": "ground",
"isStatic": true,
"density": 0.10000000149011612,
"restitution": 0,
"friction": 0.10000000149011612,
"frictionAir": 0.009999999776482582,
"frictionStatic": 0.5,
"collisionFilter": {
"group": 0,
"category": 1,
"mask": 255
},
"fixtures": [
{
"label": "",
"isSensor": false,
"vertices": [
[ { "x":380, "y":524 }, { "x":351, "y":561 }, { "x":444, "y":549 } ],
[ { "x":754, "y":524 }, { "x":725, "y":561 }, { "x":833, "y":557 } ],
[ { "x":159, "y":524 }, { "x":132, "y":530 }, { "x":166, "y":537 } ],
[ { "x":857, "y":511 }, { "x":852, "y":534 }, { "x":942, "y":535 }, { "x":932, "y":517 }, { "x":890, "y":500 } ],
[ { "x":973, "y":533 }, { "x":961, "y":543 }, { "x":1200, "y":626 }, { "x":987, "y":535 } ],
[ { "x":1077, "y":448 }, { "x":1041, "y":513 }, { "x":1200, "y":626 }, { "x":1116, "y":448 } ],
[ { "x":459, "y":526 }, { "x":444, "y":549 }, { "x":610, "y":566 }, { "x":508, "y":524 } ],
[ { "x":1200, "y":340 }, { "x":1110, "y":346 }, { "x":1130, "y":416 }, { "x":1200, "y":626 } ],
[ { "x":626, "y":545 }, { "x":610, "y":566 }, { "x":725, "y":561 }, { "x":675, "y":542 } ],
[ { "x":1102, "y":360 }, { "x":1104, "y":379 }, { "x":1130, "y":416 }, { "x":1110, "y":346 } ],
[ { "x":250, "y":547 }, { "x":240, "y":566 }, { "x":351, "y":561 }, { "x":301, "y":542 } ],
[ { "x":182, "y":537 }, { "x":166, "y":537 }, { "x":201, "y":553 } ],
[ { "x":91, "y":388 }, { "x":77, "y":358 }, { "x":59, "y":340 }, { "x":0, "y":340 }, { "x":0, "y":626 }, { "x":87, "y":423 } ],
[ { "x":852, "y":534 }, { "x":833, "y":557 }, { "x":961, "y":543 }, { "x":942, "y":535 } ],
[ { "x":997, "y":522 }, { "x":987, "y":535 }, { "x":1200, "y":626 }, { "x":1041, "y":513 } ],
[ { "x":104, "y":456 }, { "x":87, "y":423 }, { "x":0, "y":626 }, { "x":106, "y":515 } ],
[ { "x":166, "y":537 }, { "x":132, "y":530 }, { "x":0, "y":626 }, { "x":201, "y":553 } ],
[ { "x":444, "y":549 }, { "x":351, "y":561 }, { "x":610, "y":566 } ],
[ { "x":106, "y":515 }, { "x":0, "y":626 }, { "x":113, "y":522 } ],
[ { "x":113, "y":522 }, { "x":0, "y":626 }, { "x":132, "y":530 } ],
[ { "x":201, "y":553 }, { "x":0, "y":626 }, { "x":240, "y":566 } ],
[ { "x":0, "y":626 }, { "x":1200, "y":626 }, { "x":610, "y":566 }, { "x":351, "y":561 }, { "x":240, "y":566 } ],
[ { "x":610, "y":566 }, { "x":1200, "y":626 }, { "x":833, "y":557 } ],
[ { "x":833, "y":557 }, { "x":1200, "y":626 }, { "x":961, "y":543 } ],
[ { "x":1116, "y":448 }, { "x":1200, "y":626 }, { "x":1130, "y":416 } ]
]
}
]
}
}

146
graphics/falling-scooters/assets/fruit-sprites.json

@ -0,0 +1,146 @@
{
"textures": [
{
"image": "fruit-sprites.png",
"format": "RGBA8888",
"size": {
"w": 1380,
"h": 1202
},
"scale": 1,
"frames": [
{
"filename": "background",
"rotated": true,
"trimmed": false,
"sourceSize": {
"w": 1200,
"h": 960
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 1200,
"h": 960
},
"frame": {
"x": 1,
"y": 1,
"w": 1200,
"h": 960
}
},
{
"filename": "ground",
"rotated": true,
"trimmed": true,
"sourceSize": {
"w": 1200,
"h": 626
},
"spriteSourceSize": {
"x": 0,
"y": 339,
"w": 1200,
"h": 287
},
"frame": {
"x": 963,
"y": 1,
"w": 1200,
"h": 287
}
},
{
"filename": "banana",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 128,
"h": 128
},
"spriteSourceSize": {
"x": 0,
"y": 0,
"w": 127,
"h": 128
},
"frame": {
"x": 1252,
"y": 1,
"w": 127,
"h": 128
}
},
{
"filename": "orange",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 128,
"h": 128
},
"spriteSourceSize": {
"x": 1,
"y": 5,
"w": 127,
"h": 123
},
"frame": {
"x": 1252,
"y": 131,
"w": 127,
"h": 123
}
},
{
"filename": "cherries",
"rotated": true,
"trimmed": true,
"sourceSize": {
"w": 128,
"h": 128
},
"spriteSourceSize": {
"x": 5,
"y": 3,
"w": 120,
"h": 125
},
"frame": {
"x": 1252,
"y": 256,
"w": 120,
"h": 125
}
},
{
"filename": "crate",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 128,
"h": 128
},
"spriteSourceSize": {
"x": 3,
"y": 7,
"w": 123,
"h": 121
},
"frame": {
"x": 1252,
"y": 378,
"w": 123,
"h": 121
}
}
]
}
],
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
"smartupdate": "$TexturePacker:SmartUpdate:0d0bce26c10ae31fb56fffa698e98974:1f8e7cbe61cf17088e7b8ba8bd089be7:25f385b2bb08c04649fd253213a50a44$"
}
}

BIN
graphics/falling-scooters/assets/fruit-sprites.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

1
graphics/falling-scooters/assets/scooter-wrong.json

@ -0,0 +1 @@
{"scooter-sprite-128x128":[{"shape":[15,10,22,2,24,1]},{"shape":[90,105,98,97,117,96]},{"shape":[117,96,123,108,111,126]},{"shape":[111,126,100,125,92,118]},{"shape":[92,118,42,118,31,110]},{"shape":[31,110,22,125,6,121]},{"shape":[6,121,4,111,18,88]},{"shape":[27,42,25,13,31,8]},{"shape":[31,8,15,10,24,1]},{"shape":[90,105,117,96,111,126]},{"shape":[31,110,6,121,18,88]},{"shape":[31,8,24,1,37,5]},{"shape":[90,105,111,126,92,118]},{"shape":[27,42,31,8,37,5]},{"shape":[43,104,90,105,92,118]},{"shape":[18,88,27,42,37,5]},{"shape":[43,104,92,118,31,110]},{"shape":[18,88,37,5,28,77]},{"shape":[28,77,43,104,31,110]},{"shape":[31,110,18,88,28,77]}]}

BIN
graphics/falling-scooters/fruit-sprites/background.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
graphics/falling-scooters/fruit-sprites/banana.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
graphics/falling-scooters/fruit-sprites/cherries.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
graphics/falling-scooters/fruit-sprites/crate.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
graphics/falling-scooters/fruit-sprites/ground.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
graphics/falling-scooters/fruit-sprites/orange.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

39
graphics/falling-scooters/index.html

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
html, body, div
{
padding:0;
margin: 0;
}
body
{
width:100%;
height:100%;
margin: 0;
overflow: hidden;
background-color: white;
}
canvas
{
background-color: white;
width:100%;
}
#game
{
margin: 0 auto;
}
</style>
</head>
<body>
<script src="phaser.min.js?v=3100" charset="utf-8"></script>
<script src="index.js" charset="utf-8"></script>
<div id="game"></div>
</body>
</html>

56
graphics/falling-scooters/index.js

@ -0,0 +1,56 @@
/*
* This example show how to load complex shapes created with PhysicsEditor (https://www.codeandweb.com/physicseditor)
*/
var config = {
type: Phaser.AUTO,
width: 1200,
height: 600,
transparent: true,
backgroundColor: 0xffffff,
parent: 'game',
scene: {
preload: preload,
create: create
},
physics: {
default: "matter",
matter: {
// debug: true
}
}
};
var game = new Phaser.Game(config);
function preload() {
// Load sprite sheet generated with TexturePacker
this.load.atlas('sheet', 'assets/fruit-sprites.png', 'assets/fruit-sprites.json');
// Load body shapes from JSON file generated using PhysicsEditor
this.load.json('shapes', 'assets/fruit-shapes.json');
//this.load.json('shapes', 'assets/scooter.json');
}
function create() {
var shapes = this.cache.json.get('shapes');
this.matter.world.setBounds(0, 0, game.config.width, game.config.height);
this.add.image(0, 0, 'sheet', 'background').setOrigin(0, 0);
// sprites are positioned at their center of mass
var ground = this.matter.add.sprite(0, 0, 'sheet', 'ground', {shape: shapes.ground});
ground.setPosition(0 + ground.centerOfMass.x, 280 + ground.centerOfMass.y); // corrected position: (0,280)
this.matter.add.sprite(200, 50, 'sheet', 'crate', {shape: shapes.crate});
this.matter.add.sprite(250, 250, 'sheet', 'banana', {shape: shapes.banana});
this.matter.add.sprite(360, 50, 'sheet', 'orange', {shape: shapes.orange});
this.matter.add.sprite(400, 250, 'sheet', 'cherries', {shape: shapes.cherries});
this.input.on('pointerdown', function (pointer) {
this.matter.add.sprite(pointer.x, pointer.y, 'sheet', 'banana', {shape: shapes.banana});
}, this);
}

1
graphics/falling-scooters/phaser.min.js

File diff suppressed because one or more lines are too long

BIN
graphics/falling-scooters/shapes.pes

Binary file not shown.

267
graphics/falling-scooters/spritesheet.tps

@ -0,0 +1,267 @@
<?xml version="1.0" encoding="UTF-8"?>
<data version="1.0">
<struct type="Settings">
<key>fileFormatVersion</key>
<int>4</int>
<key>texturePackerVersion</key>
<string>4.8.0</string>
<key>autoSDSettings</key>
<array>
<struct type="AutoSDSettings">
<key>scale</key>
<double>1</double>
<key>extension</key>
<string></string>
<key>spriteFilter</key>
<string></string>
<key>acceptFractionalValues</key>
<false/>
<key>maxTextureSize</key>
<QSize>
<key>width</key>
<int>-1</int>
<key>height</key>
<int>-1</int>
</QSize>
</struct>
</array>
<key>allowRotation</key>
<true/>
<key>shapeDebug</key>
<false/>
<key>dpi</key>
<uint>72</uint>
<key>dataFormat</key>
<string>phaser</string>
<key>textureFileName</key>
<filename></filename>
<key>flipPVR</key>
<false/>
<key>pvrCompressionQuality</key>
<enum type="SettingsBase::PvrCompressionQuality">PVR_QUALITY_NORMAL</enum>
<key>atfCompressData</key>
<false/>
<key>mipMapMinSize</key>
<uint>32768</uint>
<key>etc1CompressionQuality</key>
<enum type="SettingsBase::Etc1CompressionQuality">ETC1_QUALITY_LOW_PERCEPTUAL</enum>
<key>etc2CompressionQuality</key>
<enum type="SettingsBase::Etc2CompressionQuality">ETC2_QUALITY_LOW_PERCEPTUAL</enum>
<key>dxtCompressionMode</key>
<enum type="SettingsBase::DxtCompressionMode">DXT_PERCEPTUAL</enum>
<key>jxrColorFormat</key>
<enum type="SettingsBase::JpegXrColorMode">JXR_YUV444</enum>
<key>jxrTrimFlexBits</key>
<uint>0</uint>
<key>jxrCompressionLevel</key>
<uint>0</uint>
<key>ditherType</key>
<enum type="SettingsBase::DitherType">PngQuantLow</enum>
<key>backgroundColor</key>
<uint>0</uint>
<key>libGdx</key>
<struct type="LibGDX">
<key>filtering</key>
<struct type="LibGDXFiltering">
<key>x</key>
<enum type="LibGDXFiltering::Filtering">Linear</enum>
<key>y</key>
<enum type="LibGDXFiltering::Filtering">Linear</enum>
</struct>
</struct>
<key>shapePadding</key>
<uint>0</uint>
<key>jpgQuality</key>
<uint>80</uint>
<key>pngOptimizationLevel</key>
<uint>1</uint>
<key>webpQualityLevel</key>
<uint>101</uint>
<key>textureSubPath</key>
<string></string>
<key>atfFormats</key>
<string></string>
<key>textureFormat</key>
<enum type="SettingsBase::TextureFormat">png8</enum>
<key>borderPadding</key>
<uint>0</uint>
<key>maxTextureSize</key>
<QSize>
<key>width</key>
<int>2048</int>
<key>height</key>
<int>2048</int>
</QSize>
<key>fixedTextureSize</key>
<QSize>
<key>width</key>
<int>-1</int>
<key>height</key>
<int>-1</int>
</QSize>
<key>algorithmSettings</key>
<struct type="AlgorithmSettings">
<key>algorithm</key>
<enum type="AlgorithmSettings::AlgorithmId">MaxRects</enum>
<key>freeSizeMode</key>
<enum type="AlgorithmSettings::AlgorithmFreeSizeMode">Best</enum>
<key>sizeConstraints</key>
<enum type="AlgorithmSettings::SizeConstraints">AnySize</enum>
<key>forceSquared</key>
<false/>
<key>maxRects</key>
<struct type="AlgorithmMaxRectsSettings">
<key>heuristic</key>
<enum type="AlgorithmMaxRectsSettings::Heuristic">Best</enum>
</struct>
<key>basic</key>
<struct type="AlgorithmBasicSettings">
<key>sortBy</key>
<enum type="AlgorithmBasicSettings::SortBy">Best</enum>
<key>order</key>
<enum type="AlgorithmBasicSettings::Order">Ascending</enum>
</struct>
<key>polygon</key>
<struct type="AlgorithmPolygonSettings">
<key>alignToGrid</key>
<uint>1</uint>
</struct>
</struct>
<key>dataFileNames</key>
<map type="GFileNameMap">
<key>json</key>
<struct type="DataFile">
<key>name</key>
<filename>assets/fruit-sprites.json</filename>
</struct>
</map>
<key>multiPack</key>
<false/>
<key>forceIdenticalLayout</key>
<false/>
<key>outputFormat</key>
<enum type="SettingsBase::OutputFormat">RGBA8888</enum>
<key>alphaHandling</key>
<enum type="SettingsBase::AlphaHandling">ClearTransparentPixels</enum>
<key>contentProtection</key>
<struct type="ContentProtection">
<key>key</key>
<string></string>
</struct>
<key>autoAliasEnabled</key>
<true/>
<key>trimSpriteNames</key>
<true/>
<key>prependSmartFolderName</key>
<false/>
<key>autodetectAnimations</key>
<true/>
<key>globalSpriteSettings</key>
<struct type="SpriteSettings">
<key>scale</key>
<double>1</double>
<key>scaleMode</key>
<enum type="ScaleMode">Smooth</enum>
<key>extrude</key>
<uint>1</uint>
<key>trimThreshold</key>
<uint>1</uint>
<key>trimMargin</key>
<uint>1</uint>
<key>trimMode</key>
<enum type="SpriteSettings::TrimMode">Trim</enum>
<key>tracerTolerance</key>
<int>200</int>
<key>heuristicMask</key>
<false/>
<key>defaultPivotPoint</key>
<point_f>0.5,0.5</point_f>
<key>writePivotPoints</key>
<false/>
</struct>
<key>individualSpriteSettings</key>
<map type="IndividualSpriteSettingsMap">
<key type="filename">fruit-sprites/background.png</key>
<struct type="IndividualSpriteSettings">
<key>pivotPoint</key>
<point_f>0.5,0.5</point_f>
<key>scale9Enabled</key>
<false/>
<key>scale9Borders</key>
<rect>300,240,600,480</rect>
<key>scale9Paddings</key>
<rect>300,240,600,480</rect>
<key>scale9FromFile</key>
<false/>
</struct>
<key type="filename">fruit-sprites/banana.png</key>
<key type="filename">fruit-sprites/cherries.png</key>
<key type="filename">fruit-sprites/crate.png</key>
<key type="filename">fruit-sprites/orange.png</key>
<struct type="IndividualSpriteSettings">
<key>pivotPoint</key>
<point_f>0.5,0.5</point_f>
<key>scale9Enabled</key>
<false/>
<key>scale9Borders</key>
<rect>32,32,64,64</rect>
<key>scale9Paddings</key>
<rect>32,32,64,64</rect>
<key>scale9FromFile</key>
<false/>
</struct>
<key type="filename">fruit-sprites/ground.png</key>
<struct type="IndividualSpriteSettings">
<key>pivotPoint</key>
<point_f>0.5,0.5</point_f>
<key>scale9Enabled</key>
<false/>
<key>scale9Borders</key>
<rect>300,157,600,313</rect>
<key>scale9Paddings</key>
<rect>300,157,600,313</rect>
<key>scale9FromFile</key>
<false/>
</struct>
</map>
<key>fileList</key>
<array>
<filename>fruit-sprites</filename>
</array>
<key>ignoreFileList</key>
<array/>
<key>replaceList</key>
<array/>
<key>ignoredWarnings</key>
<array>
<string>phaser3-exporter-beta</string>
</array>
<key>commonDivisorX</key>
<uint>1</uint>
<key>commonDivisorY</key>
<uint>1</uint>
<key>packNormalMaps</key>
<false/>
<key>autodetectNormalMaps</key>
<true/>
<key>normalMapFilter</key>
<string></string>
<key>normalMapSuffix</key>
<string></string>
<key>normalMapSheetFileName</key>
<filename></filename>
<key>exporterProperties</key>
<map type="ExporterProperties">
<key>css::media-query-2x</key>
<struct type="ExporterProperty">
<key>value</key>
<string>(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)</string>
</struct>
<key>css::sprite-prefix</key>
<struct type="ExporterProperty">
<key>value</key>
<string></string>
</struct>
</map>
</struct>
</data>
Loading…
Cancel
Save