diff --git a/assets/graphics/objects.atlas b/assets/graphics/objects.atlas index 23c898c..e37f140 100644 --- a/assets/graphics/objects.atlas +++ b/assets/graphics/objects.atlas @@ -1,341 +1,362 @@ objects.png -size: 256, 256 +size: 512, 256 format: RGBA8888 filter: Nearest, Nearest repeat: none -player/idle_down - rotate: false - xy: 2, 218 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 0 -player/idle_down - rotate: false - xy: 2, 182 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 1 -player/idle_down - rotate: false - xy: 38, 218 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 2 -player/idle_down - rotate: false - xy: 2, 146 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 3 -player/idle_down - rotate: false - xy: 38, 182 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 4 -player/idle_down - rotate: false - xy: 74, 218 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 5 -player/idle_left - rotate: false - xy: 2, 110 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 0 -player/idle_left - rotate: false - xy: 38, 146 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 1 -player/idle_left - rotate: false - xy: 74, 182 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 2 -player/idle_left - rotate: false - xy: 110, 218 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 3 -player/idle_left - rotate: false - xy: 2, 74 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 4 -player/idle_left - rotate: false - xy: 38, 110 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 5 -player/idle_right - rotate: false - xy: 74, 146 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 0 -player/idle_right - rotate: false - xy: 110, 182 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 1 -player/idle_right - rotate: false - xy: 146, 218 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 2 -player/idle_right - rotate: false - xy: 2, 38 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 3 -player/idle_right - rotate: false - xy: 38, 74 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 4 -player/idle_right - rotate: false - xy: 74, 110 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 5 -player/idle_up - rotate: false - xy: 110, 146 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 0 -player/idle_up - rotate: false - xy: 146, 182 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 1 -player/idle_up - rotate: false - xy: 182, 218 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: 2 -player/idle_up +chest/chest rotate: false xy: 2, 2 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +house/house + rotate: false + xy: 2, 142 + size: 80, 112 + orig: 80, 112 + offset: 0, 0 + index: -1 +oak_tree/oak_tree + rotate: false + xy: 2, 58 + size: 64, 80 + orig: 64, 80 + offset: 0, 0 + index: -1 +player/idle_down + rotate: false + xy: 86, 222 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 0 +player/idle_down + rotate: false + xy: 2, 22 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 1 +player/idle_down + rotate: false + xy: 86, 186 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 2 +player/idle_down + rotate: false + xy: 122, 222 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 3 +player/idle_down + rotate: false + xy: 86, 150 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 4 +player/idle_down + rotate: false + xy: 122, 186 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 5 +player/idle_left + rotate: false + xy: 158, 222 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 0 +player/idle_left + rotate: false + xy: 122, 150 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 1 +player/idle_left + rotate: false + xy: 158, 186 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 2 +player/idle_left + rotate: false + xy: 194, 222 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 3 +player/idle_left + rotate: false + xy: 158, 150 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 4 +player/idle_left + rotate: false + xy: 194, 186 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 5 +player/idle_right + rotate: false + xy: 230, 222 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 0 +player/idle_right + rotate: false + xy: 194, 150 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 1 +player/idle_right + rotate: false + xy: 230, 186 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 2 +player/idle_right + rotate: false + xy: 266, 222 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 3 +player/idle_right + rotate: false + xy: 230, 150 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 4 +player/idle_right + rotate: false + xy: 266, 186 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 5 +player/idle_up + rotate: false + xy: 302, 222 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 0 +player/idle_up + rotate: false + xy: 266, 150 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 1 +player/idle_up + rotate: false + xy: 302, 186 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: 2 +player/idle_up + rotate: false + xy: 338, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 3 player/idle_up rotate: false - xy: 38, 38 + xy: 302, 150 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 4 player/idle_up rotate: false - xy: 74, 74 + xy: 338, 186 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 5 player/walk_down rotate: false - xy: 110, 110 + xy: 374, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 0 player/walk_down rotate: false - xy: 146, 146 + xy: 338, 150 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 1 player/walk_down rotate: false - xy: 182, 182 + xy: 374, 186 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 2 player/walk_down rotate: false - xy: 218, 218 + xy: 410, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 3 player/walk_down rotate: false - xy: 38, 2 + xy: 374, 150 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 4 player/walk_down rotate: false - xy: 74, 38 + xy: 410, 186 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 5 player/walk_left rotate: false - xy: 110, 74 + xy: 446, 222 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 0 player/walk_left rotate: false - xy: 146, 110 + xy: 410, 150 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 1 player/walk_left rotate: false - xy: 182, 146 + xy: 446, 186 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 2 player/walk_left rotate: false - xy: 218, 182 + xy: 446, 150 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 3 player/walk_left rotate: false - xy: 74, 2 + xy: 38, 22 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 4 player/walk_left rotate: false - xy: 110, 38 + xy: 70, 106 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 5 player/walk_right rotate: false - xy: 146, 74 + xy: 70, 70 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 0 player/walk_right rotate: false - xy: 182, 110 + xy: 106, 114 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 1 player/walk_right rotate: false - xy: 218, 146 + xy: 106, 78 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 2 player/walk_right rotate: false - xy: 110, 2 + xy: 142, 114 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 3 player/walk_right rotate: false - xy: 146, 38 + xy: 142, 78 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 4 player/walk_right rotate: false - xy: 182, 74 + xy: 178, 114 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 5 player/walk_up rotate: false - xy: 218, 110 + xy: 178, 78 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 0 player/walk_up rotate: false - xy: 146, 2 + xy: 214, 114 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 1 player/walk_up rotate: false - xy: 182, 38 + xy: 214, 78 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 2 player/walk_up rotate: false - xy: 218, 74 + xy: 250, 114 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 3 player/walk_up rotate: false - xy: 182, 2 + xy: 250, 78 size: 32, 32 orig: 32, 32 offset: 0, 0 index: 4 player/walk_up rotate: false - xy: 218, 38 + xy: 286, 114 size: 32, 32 orig: 32, 32 offset: 0, 0 diff --git a/assets/graphics/objects.png b/assets/graphics/objects.png index 85581fa..e2462c4 100644 Binary files a/assets/graphics/objects.png and b/assets/graphics/objects.png differ diff --git a/assets/maps/mainmap.tmx b/assets/maps/mainmap.tmx index 03fdd8f..4eed490 100644 --- a/assets/maps/mainmap.tmx +++ b/assets/maps/mainmap.tmx @@ -1,10 +1,10 @@ - + - + - eJylkjsPwjAMhLPwkCoeEjDBxkgzARPqBEywla2w9lfkx3OVYulkuSHA8Elt5DvH5wTn3BosDTYgfMHEOCtBEb/34KA4GpotGBjnRfR4gJZ4girW7AwN/3ezrsApam/gQlyNvp3nIubhySOQT2XocuGZ2MdnaiVL8WhA3ZOtoPegM2Vqo16Qflwvmd4Tnry7Vu2Ad+EpY6uHJpWV+LzI55e9neNsfAfr3eR6sbb8UK/f978MwUgx7qlN3W0KZop5Rv83sodpJA== + eJylkjsPwjAMhDPykCoeEjDBxkgzARPqBEywla2w9lfkr3OVYulkuSHA8Elt5DvH5wTn3BosDTYgfMHEOCtBEb/34KA4GpotGBjnRfR4gJZ4girW7AwN/3ezrsApam/gQlyNvp3nIubhySOQT2XocuGZ2MdnaiVL8WhA3ZOtoPegM2Vqo16Qflwvmd4Tnry7Vu2Ad+EpY6uHJpWV+LzI55e9neNsfAfr3eR6sbb8UK/f978MwUgx7qlN3W0KZop5Rv83Ub9shA== @@ -24,7 +24,12 @@ - + + + + + + diff --git a/assets/maps/mystic.tiled-project b/assets/maps/mystic.tiled-project index d0eb592..6b53d6a 100644 --- a/assets/maps/mystic.tiled-project +++ b/assets/maps/mystic.tiled-project @@ -10,5 +10,65 @@ "properties": [ ], "propertyTypes": [ + { + "id": 2, + "name": "AtlasAsset", + "storageType": "string", + "type": "enum", + "values": [ + "OBJECTS" + ], + "valuesAsFlags": false + }, + { + "color": "#ffa0a0a4", + "drawFill": true, + "id": 3, + "members": [ + { + "name": "animation", + "type": "string", + "value": "" + }, + { + "name": "atlasAsset", + "propertyType": "AtlasAsset", + "type": "string", + "value": "OBJECTS" + }, + { + "name": "speed", + "type": "float", + "value": 0 + } + ], + "name": "Object", + "type": "class", + "useAs": [ + "property", + "tile", + "project" + ] + }, + { + "color": "#ffa0a0a4", + "drawFill": true, + "id": 1, + "members": [ + { + "name": "atlasAsset", + "propertyType": "AtlasAsset", + "type": "string", + "value": "OBJECTS" + } + ], + "name": "Prop", + "type": "class", + "useAs": [ + "property", + "tile", + "project" + ] + } ] } diff --git a/assets/maps/objects.tsx b/assets/maps/objects.tsx index c34fc2d..4cbb157 100644 --- a/assets/maps/objects.tsx +++ b/assets/maps/objects.tsx @@ -1,10 +1,9 @@ - + - + - @@ -14,4 +13,24 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/assets/maps/objects/chest.png b/assets/maps/objects/chest.png new file mode 100644 index 0000000..a0fe2b0 Binary files /dev/null and b/assets/maps/objects/chest.png differ diff --git a/assets/maps/objects/house.png b/assets/maps/objects/house.png new file mode 100644 index 0000000..dab1bcf Binary files /dev/null and b/assets/maps/objects/house.png differ diff --git a/assets/maps/objects/oak_tree.png b/assets/maps/objects/oak_tree.png new file mode 100644 index 0000000..5dbb903 Binary files /dev/null and b/assets/maps/objects/oak_tree.png differ diff --git a/assets_raw/objects/chest/chest.png b/assets_raw/objects/chest/chest.png new file mode 100644 index 0000000..a0fe2b0 Binary files /dev/null and b/assets_raw/objects/chest/chest.png differ diff --git a/assets_raw/objects/house/house.png b/assets_raw/objects/house/house.png new file mode 100644 index 0000000..dab1bcf Binary files /dev/null and b/assets_raw/objects/house/house.png differ diff --git a/assets_raw/objects/oak_tree/oak_tree.png b/assets_raw/objects/oak_tree/oak_tree.png new file mode 100644 index 0000000..5dbb903 Binary files /dev/null and b/assets_raw/objects/oak_tree/oak_tree.png differ diff --git a/core/src/main/java/io/github/com/quillraven/tiled/TiledAshleySpawner.java b/core/src/main/java/io/github/com/quillraven/tiled/TiledAshleySpawner.java index 70a2fa6..844f182 100644 --- a/core/src/main/java/io/github/com/quillraven/tiled/TiledAshleySpawner.java +++ b/core/src/main/java/io/github/com/quillraven/tiled/TiledAshleySpawner.java @@ -115,6 +115,7 @@ public class TiledAshleySpawner { Entity entity = this.engine.createEntity(); TiledMapTile tile = tileMapObject.getTile(); TextureRegion textureRegion = tile.getTextureRegion(); + String classType = tile.getProperties().get("type", "", String.class); addEntityTransform( tileMapObject.getX(), tileMapObject.getY(), @@ -123,7 +124,7 @@ public class TiledAshleySpawner { entity); addEntityPhysic( tile.getObjects(), - BodyType.DynamicBody, + "Prop".equals(classType) ? BodyType.StaticBody : BodyType.DynamicBody, Vector2.Zero, entity); addEntityAnimation(tile, entity); @@ -157,7 +158,7 @@ public class TiledAshleySpawner { } AnimationType animationType = AnimationType.valueOf(animationStr); - String atlasAssetStr = tile.getProperties().get("atlasAsset", "", String.class); + String atlasAssetStr = tile.getProperties().get("atlasAsset", "OBJECTS", String.class); AtlasAsset atlasAsset = AtlasAsset.valueOf(atlasAssetStr); FileTextureData textureData = (FileTextureData) tile.getTextureRegion().getTexture().getTextureData(); String atlasKey = textureData.getFileHandle().nameWithoutExtension();