feat(world3D): add a way to adapt y position from tiled

This commit is contained in:
Kazhnuz 2019-07-20 16:53:20 +02:00
parent 27773ad8d6
commit c53e91a564
3 changed files with 38 additions and 1 deletions

View file

@ -361,6 +361,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 32 ["z"] = 32
} }
}, },
@ -376,6 +377,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 32 ["z"] = 32
} }
}, },
@ -391,6 +393,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 32 ["z"] = 32
} }
}, },
@ -406,6 +409,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 32 ["z"] = 32
} }
}, },
@ -421,6 +425,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 32 ["z"] = 32
} }
} }
@ -987,6 +992,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1002,6 +1008,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1017,6 +1024,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1032,6 +1040,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1047,6 +1056,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1062,6 +1072,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1077,6 +1088,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1092,6 +1104,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1107,6 +1120,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
}, },
@ -1122,6 +1136,7 @@ return {
rotation = 0, rotation = 0,
visible = true, visible = true,
properties = { properties = {
["adaptPosition"] = true,
["z"] = 56 ["z"] = 56
} }
} }

View file

@ -213,26 +213,31 @@
<objectgroup id="8" name="box"> <objectgroup id="8" name="box">
<object id="80" x="64" y="160" width="16" height="16"> <object id="80" x="64" y="160" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="32"/> <property name="z" type="int" value="32"/>
</properties> </properties>
</object> </object>
<object id="81" x="96" y="160" width="16" height="16"> <object id="81" x="96" y="160" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="32"/> <property name="z" type="int" value="32"/>
</properties> </properties>
</object> </object>
<object id="82" x="128" y="160" width="16" height="16"> <object id="82" x="128" y="160" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="32"/> <property name="z" type="int" value="32"/>
</properties> </properties>
</object> </object>
<object id="83" x="112" y="176" width="16" height="16"> <object id="83" x="112" y="176" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="32"/> <property name="z" type="int" value="32"/>
</properties> </properties>
</object> </object>
<object id="84" x="80" y="176" width="16" height="16"> <object id="84" x="80" y="176" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="32"/> <property name="z" type="int" value="32"/>
</properties> </properties>
</object> </object>
@ -435,51 +440,61 @@
</object> </object>
<object id="55" x="112" y="384" width="16" height="16"> <object id="55" x="112" y="384" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="68" x="144" y="384" width="16" height="16"> <object id="68" x="144" y="384" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="69" x="128" y="416" width="16" height="16"> <object id="69" x="128" y="416" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="70" x="176" y="384" width="16" height="16"> <object id="70" x="176" y="384" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="71" x="160" y="416" width="16" height="16"> <object id="71" x="160" y="416" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="72" x="768" y="176" width="16" height="16"> <object id="72" x="768" y="176" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="73" x="768" y="208" width="16" height="16"> <object id="73" x="768" y="208" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="74" x="736" y="208" width="16" height="16"> <object id="74" x="736" y="208" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="75" x="768" y="240" width="16" height="16"> <object id="75" x="768" y="240" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>
<object id="76" x="800" y="208" width="16" height="16"> <object id="76" x="800" y="208" width="16" height="16">
<properties> <properties>
<property name="adaptPosition" type="bool" value="true"/>
<property name="z" type="int" value="56"/> <property name="z" type="int" value="56"/>
</properties> </properties>
</object> </object>

View file

@ -125,7 +125,14 @@ end
function World3D:newActorFromMap(objectlayer, object) function World3D:newActorFromMap(objectlayer, object)
local z = object.properties.z or 0 local z = object.properties.z or 0
self:newActor(objectlayer.name, object.x, object.y, z) local adaptPosition = object.properties.adaptPosition or false
local y = object.y
if (adaptPosition) then
y = y + z
end
self:newActor(objectlayer.name, object.x, y, z)
end end
function World3D:newCollisionFromMap(objectlayer, object) function World3D:newCollisionFromMap(objectlayer, object)