Implemented moving and deadly Obstacles
Therefour changes in ObstacleClass MoveEdges are not outer limit of Movement!!! (Should be changed)
This commit is contained in:
parent
c0a398fa5d
commit
45b9c41ea4
@ -456,7 +456,7 @@ public final class R {
|
||||
public static final int abc_textfield_search_activated_mtrl_alpha = 0x7f020042;
|
||||
public static final int abc_textfield_search_default_mtrl_alpha = 0x7f020043;
|
||||
public static final int abc_textfield_search_material = 0x7f020044;
|
||||
public static final int notification_template_icon_bg = 0x7f020072;
|
||||
public static final int notification_template_icon_bg = 0x7f020074;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int action0 = 0x7f0d0069;
|
||||
|
@ -1616,51 +1616,53 @@ containing a value of this type.
|
||||
public static final int abc_textfield_search_default_mtrl_alpha=0x7f020043;
|
||||
public static final int abc_textfield_search_material=0x7f020044;
|
||||
public static final int background=0x7f020045;
|
||||
public static final int ball=0x7f020046;
|
||||
public static final int blueparticle=0x7f020047;
|
||||
public static final int bomb=0x7f020048;
|
||||
public static final int bombbutton=0x7f020049;
|
||||
public static final int custom_button=0x7f02004a;
|
||||
public static final int emptybutton=0x7f02004b;
|
||||
public static final int goal=0x7f02004c;
|
||||
public static final int grasslands_preview=0x7f02004d;
|
||||
public static final int levelbutton_background=0x7f02004e;
|
||||
public static final int levelupbackground=0x7f02004f;
|
||||
public static final int lock=0x7f020050;
|
||||
public static final int lockedbutton=0x7f020051;
|
||||
public static final int magnet=0x7f020052;
|
||||
public static final int magnetbutton=0x7f020053;
|
||||
public static final int menu_background=0x7f020054;
|
||||
public static final int notification_template_icon_bg=0x7f020072;
|
||||
public static final int obstacle=0x7f020055;
|
||||
public static final int pausebutton=0x7f020056;
|
||||
public static final int playerarrow=0x7f020057;
|
||||
public static final int purple=0x7f020058;
|
||||
public static final int ramp=0x7f020059;
|
||||
public static final int rampbutton=0x7f02005a;
|
||||
public static final int redparticle=0x7f02005b;
|
||||
public static final int shortmenubackground=0x7f02005c;
|
||||
public static final int sound_off=0x7f02005d;
|
||||
public static final int sound_on=0x7f02005e;
|
||||
public static final int sound_toggle=0x7f02005f;
|
||||
public static final int splitter=0x7f020060;
|
||||
public static final int spring=0x7f020061;
|
||||
public static final int springbutton=0x7f020062;
|
||||
public static final int star=0x7f020063;
|
||||
public static final int star_icon=0x7f020064;
|
||||
public static final int stars_0=0x7f020065;
|
||||
public static final int stars_1=0x7f020066;
|
||||
public static final int stars_2=0x7f020067;
|
||||
public static final int stars_3=0x7f020068;
|
||||
public static final int terrain=0x7f020069;
|
||||
public static final int test=0x7f02006a;
|
||||
public static final int tool_slot_background=0x7f02006b;
|
||||
public static final int toolprogressbarlayers=0x7f02006c;
|
||||
public static final int unlock_message_background=0x7f02006d;
|
||||
public static final int unlocked=0x7f02006e;
|
||||
public static final int unlockedbutton=0x7f02006f;
|
||||
public static final int worldbutton_background=0x7f020070;
|
||||
public static final int yellowparticle=0x7f020071;
|
||||
public static final int background_cave=0x7f020046;
|
||||
public static final int background_icymountains=0x7f020047;
|
||||
public static final int ball=0x7f020048;
|
||||
public static final int blueparticle=0x7f020049;
|
||||
public static final int bomb=0x7f02004a;
|
||||
public static final int bombbutton=0x7f02004b;
|
||||
public static final int custom_button=0x7f02004c;
|
||||
public static final int emptybutton=0x7f02004d;
|
||||
public static final int goal=0x7f02004e;
|
||||
public static final int grasslands_preview=0x7f02004f;
|
||||
public static final int levelbutton_background=0x7f020050;
|
||||
public static final int levelupbackground=0x7f020051;
|
||||
public static final int lock=0x7f020052;
|
||||
public static final int lockedbutton=0x7f020053;
|
||||
public static final int magnet=0x7f020054;
|
||||
public static final int magnetbutton=0x7f020055;
|
||||
public static final int menu_background=0x7f020056;
|
||||
public static final int notification_template_icon_bg=0x7f020074;
|
||||
public static final int obstacle=0x7f020057;
|
||||
public static final int pausebutton=0x7f020058;
|
||||
public static final int playerarrow=0x7f020059;
|
||||
public static final int purple=0x7f02005a;
|
||||
public static final int ramp=0x7f02005b;
|
||||
public static final int rampbutton=0x7f02005c;
|
||||
public static final int redparticle=0x7f02005d;
|
||||
public static final int shortmenubackground=0x7f02005e;
|
||||
public static final int sound_off=0x7f02005f;
|
||||
public static final int sound_on=0x7f020060;
|
||||
public static final int sound_toggle=0x7f020061;
|
||||
public static final int splitter=0x7f020062;
|
||||
public static final int spring=0x7f020063;
|
||||
public static final int springbutton=0x7f020064;
|
||||
public static final int star=0x7f020065;
|
||||
public static final int star_icon=0x7f020066;
|
||||
public static final int stars_0=0x7f020067;
|
||||
public static final int stars_1=0x7f020068;
|
||||
public static final int stars_2=0x7f020069;
|
||||
public static final int stars_3=0x7f02006a;
|
||||
public static final int terrain=0x7f02006b;
|
||||
public static final int test=0x7f02006c;
|
||||
public static final int tool_slot_background=0x7f02006d;
|
||||
public static final int toolprogressbarlayers=0x7f02006e;
|
||||
public static final int unlock_message_background=0x7f02006f;
|
||||
public static final int unlocked=0x7f020070;
|
||||
public static final int unlockedbutton=0x7f020071;
|
||||
public static final int worldbutton_background=0x7f020072;
|
||||
public static final int yellowparticle=0x7f020073;
|
||||
}
|
||||
public static final class id {
|
||||
public static final int action0=0x7f0d0069;
|
||||
|
@ -1,7 +1,7 @@
|
||||
<levelPack>
|
||||
<world>GRASSLANDS</world>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level number="1" goalX="22.606565" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="1" goalX="22.606565" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.5854988" width="7.1709976"/>
|
||||
<tileData x="10.153494" width="10.408993"/>
|
||||
@ -9,10 +9,10 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="10.873024" rightEdge="11.427025" height="0.304" y="-0.448" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="14.860029" rightEdge="15.360029" height="0.3" y="-0.45000002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.096622" rightEdge="22.096622" height="0.25" y="-0.47500002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="22.166656" rightEdge="22.666656" height="0.639" y="-0.28050002" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="10.873024" rightEdge="11.427025" height="0.304" y="-0.448"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="14.860029" rightEdge="15.360029" height="0.3" y="-0.45000002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.096622" rightEdge="22.096622" height="0.25" y="-0.47500002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="22.166656" rightEdge="22.666656" height="0.639" y="-0.28050002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="11.159975" y="-0.15999995" width="0.25" height="0.25"/>
|
||||
@ -20,7 +20,7 @@
|
||||
<starData index="3" x="22.043303" y="-0.20666662" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="2" goalX="22.366613" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="2" goalX="22.366613" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.9448314" width="7.8896627"/>
|
||||
<tileData x="8.345928" width="4.4445295"/>
|
||||
@ -30,16 +30,16 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="3.3708305" rightEdge="4.8758307" height="0.2" y="-0.5" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="11.334382" rightEdge="11.912381" height="0.319" y="-0.44050002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="2.4509985" rightEdge="3.3089983" height="0.275" y="-0.46250004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="1.6111658" rightEdge="2.3221657" height="0.338" y="-0.43100002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="16.037212" rightEdge="16.856213" height="0.435" y="-0.38250002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="16.873312" rightEdge="17.873312" height="0.367" y="-0.41650003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="17.884027" rightEdge="18.896029" height="0.327" y="-0.4365" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="19.046677" rightEdge="19.546677" height="0.884" y="-0.15800002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="15.948046" rightEdge="16.852045" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.123379" rightEdge="20.623379" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.3708305" rightEdge="4.8758307" height="0.2" y="-0.5"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="11.334382" rightEdge="11.912381" height="0.319" y="-0.44050002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.4509985" rightEdge="3.3089983" height="0.275" y="-0.46250004"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.6111658" rightEdge="2.3221657" height="0.338" y="-0.43100002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="16.037212" rightEdge="16.856213" height="0.435" y="-0.38250002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="16.873312" rightEdge="17.873312" height="0.367" y="-0.41650003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="17.884027" rightEdge="18.896029" height="0.327" y="-0.4365"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.046677" rightEdge="19.546677" height="0.884" y="-0.15800002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.948046" rightEdge="16.852045" height="0.5" y="-0.35000002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.123379" rightEdge="20.623379" height="0.5" y="-0.35000002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="10.94335" y="-0.61999965" width="0.25" height="0.25"/>
|
||||
@ -47,7 +47,7 @@
|
||||
<starData index="3" x="18.893328" y="-0.12666662" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="3" goalX="19.200012" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="3" goalX="19.200012" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.4151678" width="5.1696644"/>
|
||||
<tileData x="7.1337633" width="8.020197"/>
|
||||
@ -55,12 +55,12 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="8.00651" rightEdge="8.67351" height="0.319" y="-0.44050002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="11.703371" rightEdge="12.7233715" height="0.299" y="-0.4505" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="15.164396" rightEdge="15.762396" height="0.466" y="-0.36700004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="15.891703" rightEdge="16.901701" height="0.402" y="-0.39900002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="16.998373" rightEdge="18.248373" height="0.353" y="-0.42350003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="18.396694" rightEdge="18.896694" height="0.789" y="-0.20550004" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.00651" rightEdge="8.67351" height="0.319" y="-0.44050002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="11.703371" rightEdge="12.7233715" height="0.299" y="-0.4505"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.164396" rightEdge="15.762396" height="0.466" y="-0.36700004"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.891703" rightEdge="16.901701" height="0.402" y="-0.39900002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="16.998373" rightEdge="18.248373" height="0.353" y="-0.42350003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="18.396694" rightEdge="18.896694" height="0.789" y="-0.20550004"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="2.6399994" y="0.10666669" width="0.25" height="0.25"/>
|
||||
@ -68,7 +68,7 @@
|
||||
<starData index="3" x="12.253348" y="-0.13333318" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="4" goalX="23.933224" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="4" goalX="23.933224" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="6.06402" width="18.12804"/>
|
||||
<tileData x="19.269924" width="3.0757751"/>
|
||||
@ -78,13 +78,13 @@
|
||||
<tileData x="23.786556" width="0.29333496"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="1.9489989" rightEdge="2.5509992" height="0.354" y="-0.42300004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="18.512207" rightEdge="21.241207" height="0.408" y="0.50399995" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="8.408872" rightEdge="11.137872" height="0.803" y="-0.19850004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="11.196732" rightEdge="14.196732" height="0.5" y="0.3966666" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="14.865067" rightEdge="17.775066" height="0.299" y="0.48666632" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="17.824553" rightEdge="18.475554" height="1.415" y="0.10749996" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="5.79467" rightEdge="8.37867" height="0.544" y="-0.328" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.9489989" rightEdge="2.5509992" height="0.354" y="-0.42300004"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="18.512207" rightEdge="21.241207" height="0.408" y="0.50399995"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.408872" rightEdge="11.137872" height="0.803" y="-0.19850004"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.196732" rightEdge="14.196732" height="0.5" y="0.3966666"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="14.865067" rightEdge="17.775066" height="0.299" y="0.48666632"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="17.824553" rightEdge="18.475554" height="1.415" y="0.10749996"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="5.79467" rightEdge="8.37867" height="0.544" y="-0.328"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="11.560022" y="-0.26000002" width="0.25" height="0.25"/>
|
||||
@ -92,17 +92,17 @@
|
||||
<starData index="3" x="21.9833" y="-0.099999994" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="5" goalX="16.249996" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="5" goalX="16.249996" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="1.9915047" width="9.983009"/>
|
||||
<tileData x="12.045149" width="7.65627"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="2.3669987" rightEdge="2.7929988" height="1.074" y="-0.06300002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="12.000204" rightEdge="13.373203" height="0.946" y="-0.12700003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="13.539708" rightEdge="15.093709" height="0.725" y="-0.23750001" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="15.29672" rightEdge="15.79672" height="1.539" y="0.1695" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.3669987" rightEdge="2.7929988" height="1.074" y="-0.06300002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="12.000204" rightEdge="13.373203" height="0.946" y="-0.12700003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="13.539708" rightEdge="15.093709" height="0.725" y="-0.23750001"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.29672" rightEdge="15.79672" height="1.539" y="0.1695"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="2.5799987" y="0.62" width="0.25" height="0.25"/>
|
||||
@ -110,7 +110,7 @@
|
||||
<starData index="3" x="11.85002" y="-0.4533334" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="6" goalX="27.539873" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="6" goalX="27.539873" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.4867487" width="6.9734974"/>
|
||||
<tileData x="7.8615937" width="5.390193"/>
|
||||
@ -119,20 +119,20 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="1.1131666" rightEdge="1.5001667" height="0.941" y="-0.12950003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="1.6498328" rightEdge="1.7768329" height="0.902" y="-0.14900002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="1.9103339" rightEdge="2.1163337" height="0.838" y="-0.18100002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="2.224499" rightEdge="2.415499" height="0.735" y="-0.23250002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="2.500666" rightEdge="2.6726658" height="0.613" y="-0.29350004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="2.7449994" rightEdge="3.9749994" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="5.1713314" rightEdge="5.955332" height="0.186" y="-0.507" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="10.060041" rightEdge="10.560041" height="0.843" y="-0.17850003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.506636" rightEdge="20.806635" height="0.558" y="-0.321" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.5105" rightEdge="20.8095" height="0.286" y="0.9333331" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="14.943075" rightEdge="16.437075" height="0.231" y="-0.48450002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="25.300407" rightEdge="26.619408" height="0.612" y="-0.29400003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="23.873228" rightEdge="24.373228" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="24.34991" rightEdge="24.84991" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.1131666" rightEdge="1.5001667" height="0.941" y="-0.12950003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.6498328" rightEdge="1.7768329" height="0.902" y="-0.14900002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.9103339" rightEdge="2.1163337" height="0.838" y="-0.18100002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.224499" rightEdge="2.415499" height="0.735" y="-0.23250002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.500666" rightEdge="2.6726658" height="0.613" y="-0.29350004"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.7449994" rightEdge="3.9749994" height="0.5" y="-0.35000002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="5.1713314" rightEdge="5.955332" height="0.186" y="-0.507"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="10.060041" rightEdge="10.560041" height="0.843" y="-0.17850003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.506636" rightEdge="20.806635" height="0.558" y="-0.321"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="20.5105" rightEdge="20.8095" height="0.286" y="0.9333331"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="14.943075" rightEdge="16.437075" height="0.231" y="-0.48450002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="25.300407" rightEdge="26.619408" height="0.612" y="-0.29400003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="23.873228" rightEdge="24.373228" height="0.5" y="-0.35000002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="24.34991" rightEdge="24.84991" height="0.5" y="-0.35000002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="4.586666" y="-0.5866665" width="0.25" height="0.25"/>
|
||||
@ -140,7 +140,7 @@
|
||||
<starData index="3" x="20.64665" y="0.39999995" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="7" goalX="25.866587" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="7" goalX="25.866587" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="2.1916704" width="10.383341"/>
|
||||
<tileData x="11.639271" width="7.31187"/>
|
||||
@ -151,19 +151,19 @@
|
||||
<tileData x="25.669922" width="0.39332962"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="2.9593315" rightEdge="3.9473314" height="0.313" y="-0.01333334" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="3.987667" rightEdge="5.565667" height="0.272" y="-0.046666723" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="10.1723585" rightEdge="12.214358" height="0.095" y="0.027500032" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="5.595845" rightEdge="6.950845" height="0.19" y="-0.073333286" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="8.669004" rightEdge="10.151005" height="0.218" y="0.0023332927" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="6.992841" rightEdge="7.353841" height="0.558" y="-0.321" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="19.32099" rightEdge="19.718988" height="0.762" y="-0.21900001" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="19.963318" rightEdge="20.463318" height="0.5" y="0.7533332" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="20.287636" rightEdge="21.245636" height="0.435" y="-0.38250002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="12.539991" rightEdge="13.659992" height="0.395" y="0.124166645" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="11.773358" rightEdge="12.273358" height="0.884" y="0.5499999" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="20.503757" rightEdge="21.642757" height="0.327" y="0.3799999" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="24.1271" rightEdge="24.886099" height="0.694" y="-0.25300002" attachedToGround="true"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.9593315" rightEdge="3.9473314" height="0.313" y="-0.01333334"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.987667" rightEdge="5.565667" height="0.272" y="-0.046666723"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="10.1723585" rightEdge="12.214358" height="0.095" y="0.027500032"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="5.595845" rightEdge="6.950845" height="0.19" y="-0.073333286"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="8.669004" rightEdge="10.151005" height="0.218" y="0.0023332927"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="6.992841" rightEdge="7.353841" height="0.558" y="-0.321"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.32099" rightEdge="19.718988" height="0.762" y="-0.21900001"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="19.963318" rightEdge="20.463318" height="0.5" y="0.7533332"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.287636" rightEdge="21.245636" height="0.435" y="-0.38250002"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="12.539991" rightEdge="13.659992" height="0.395" y="0.124166645"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.773358" rightEdge="12.273358" height="0.884" y="0.5499999"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="20.503757" rightEdge="21.642757" height="0.327" y="0.3799999"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="24.1271" rightEdge="24.886099" height="0.694" y="-0.25300002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="6.6800065" y="-0.38666666" width="0.25" height="0.25"/>
|
||||
@ -171,7 +171,7 @@
|
||||
<starData index="3" x="20.679989" y="0.85333335" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="8" goalX="17.896662" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="8" goalX="17.896662" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.0766673" width="1.8466654"/>
|
||||
<tileData x="2.5266657" width="0.7200012"/>
|
||||
@ -180,16 +180,16 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="4.979664" rightEdge="5.9736643" height="0.286" y="-0.89333284" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="3.057998" rightEdge="3.9619977" height="0.299" y="-0.81333286" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="3.9729972" rightEdge="4.9669976" height="0.286" y="-0.8533326" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="5.997839" rightEdge="6.8288393" height="0.231" y="-0.9199996" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="11.854198" rightEdge="13.119198" height="1.02" y="0.023333304" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="13.15453" rightEdge="13.805531" height="0.639" y="0.13999994" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="14.541548" rightEdge="15.698547" height="0.422" y="-0.38900003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="11.286684" rightEdge="14.286684" height="0.218" y="-1.1266662" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="6.876839" rightEdge="7.689839" height="0.286" y="-1.0" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="-1.0233328" rightEdge="1.9766672" height="0.136" y="-0.86666656" attachedToGround="false"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.979664" rightEdge="5.9736643" height="0.286" y="-0.89333284"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.057998" rightEdge="3.9619977" height="0.299" y="-0.81333286"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.9729972" rightEdge="4.9669976" height="0.286" y="-0.8533326"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="5.997839" rightEdge="6.8288393" height="0.231" y="-0.9199996"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.854198" rightEdge="13.119198" height="1.02" y="0.023333304"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="13.15453" rightEdge="13.805531" height="0.639" y="0.13999994"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="14.541548" rightEdge="15.698547" height="0.422" y="-0.38900003"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.286684" rightEdge="14.286684" height="0.218" y="-1.1266662"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="6.876839" rightEdge="7.689839" height="0.286" y="-1.0"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="-1.0233328" rightEdge="1.9766672" height="0.136" y="-0.86666656"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="2.543333" y="0.3933335" width="0.25" height="0.25"/>
|
||||
|
@ -1,93 +1,97 @@
|
||||
<levelPack>
|
||||
<world>TESTCAVE</world>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level number="1" goalX="32.129963" startSpeed="0.25" endSpeed="0.7" terrainEdge="0.305" ceilingEdge="0.538">
|
||||
<level number="1" goalX="33.663338" startSpeed="0.6" endSpeed="0.6" terrainEdge="-0.979" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.5737498" width="0.85250044"/>
|
||||
<tileData x="0.14783376" width="0.40066564"/>
|
||||
<tileData x="1.9032495" width="0.47616577"/>
|
||||
<tileData x="6.2710066" width="4.691348"/>
|
||||
<tileData x="15.331669" width="36.663338"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="0.37516427" width="6.7503285"/>
|
||||
<tileData x="7.106504" width="3.0203505"/>
|
||||
<tileData x="15.331669" width="36.663338"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="9.0" rightEdge="10.0" height="0.3" y="0.455" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="13.0" rightEdge="14.0" height="0.2" y="0.405" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="19.52634" rightEdge="20.580341" height="0.3" y="0.455" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.580004" rightEdge="21.580004" height="0.5" y="0.555" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="21.580002" rightEdge="22.580002" height="0.1" y="0.35500002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="-0.25" rightEdge="0.25" height="0.5" y="0.0" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="-0.25" rightEdge="0.25" height="0.5" y="0.0" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="-0.32999998" rightEdge="0.17000002" height="0.5" y="0.48000002" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="0.5966666" rightEdge="1.0966666" height="0.5" y="0.50666666" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="3.2433324" rightEdge="3.7433324" height="0.5" y="0.45999995" attachedToGround="false"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.9099994" rightEdge="2.4099994" height="0.5" y="-0.729">
|
||||
<moveComponent width="5.0" height="4.217" x="3.2333317" y="-0.729" speed="0.508"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="0.8499999" rightEdge="1.3499999" height="0.5" y="-0.729">
|
||||
<moveComponent width="3.939" height="1.275" x="0.0" y="-0.729" speed="0.896"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="-2.6633325" rightEdge="-2.1633325" height="0.5" y="-0.729">
|
||||
<moveComponent width="0.076" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="true" deadly="true" leftEdge="1.2500002" rightEdge="1.7500002" height="0.5" y="0.24666664">
|
||||
<moveComponent width="2.841" height="1.212" x="1.5000002" y="0.24666664" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="10.163283" y="-0.05999978" width="0.25" height="0.25"/>
|
||||
<starData index="2" x="19.366709" y="-0.046666652" width="0.25" height="0.25"/>
|
||||
<starData index="3" x="21.73662" y="0.05333341" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="3" goalX="8.616679" startSpeed="0.19" endSpeed="0.44" terrainEdge="-0.861" ceilingEdge="-0.637">
|
||||
<level number="2" goalX="13.38005" startSpeed="0.5" endSpeed="0.6" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.19666648" width="5.606667"/>
|
||||
<tileData x="2.2557545" width="10.511509"/>
|
||||
<tileData x="8.660347" width="0.8236685"/>
|
||||
<tileData x="11.630615" width="3.498868"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.2467475" width="1.5065048"/>
|
||||
<tileData x="1.1300858" width="0.893161"/>
|
||||
<tileData x="5.396673" width="6.440013"/>
|
||||
<tileData x="5.1900253" width="16.38005"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="1.3278332" rightEdge="3.098833" height="0.5" y="-0.2733331" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="4.0364995" rightEdge="6.2235" height="0.109" y="0.61333334" attachedToGround="false"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="0.46000051" rightEdge="0.9600005" height="0.694" y="0.15333341"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="1.0306667" rightEdge="1.4826666" height="0.789" y="0.08666667"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="1.5308328" rightEdge="2.2358327" height="0.68" y="0.07333334"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.376332" rightEdge="2.810332" height="0.816" y="0.25333333"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.9108317" rightEdge="3.2358315" height="0.844" y="0.15333337"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.3118312" rightEdge="3.6548312" height="0.98" y="-0.110000014"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.883165" rightEdge="4.190165" height="0.68" y="-0.26000002"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.8149962" rightEdge="5.2849965" height="0.422" y="0.25999996"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="5.329664" rightEdge="5.9436646" height="0.544" y="0.060000002"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="6.0306664" rightEdge="6.482666" height="0.83" y="0.13333333"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="6.600003" rightEdge="6.980003" height="0.735" y="0.033333324"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="7.1111717" rightEdge="7.3821716" height="0.626" y="0.19999996"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="7.416671" rightEdge="8.916671" height="0.272" y="0.1866666"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="9.453531" rightEdge="10.266531" height="0.136" y="-0.532"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.386221" rightEdge="13.067221" height="0.34" y="0.07999999"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="6.0466657" y="0.83333325" width="0.25" height="0.25"/>
|
||||
<starData index="1" x="3.0633316" y="-0.43333337" width="0.25" height="0.25"/>
|
||||
<starData index="2" x="9.686677" y="-0.76000005" width="0.25" height="0.25"/>
|
||||
<starData index="3" x="13.110031" y="0.8466663" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="4" goalX="3.0" startSpeed="0.1" endSpeed="0.5" terrainEdge="-0.583" ceilingEdge="0.582">
|
||||
<level number="3" goalX="16.630037" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="0.692">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="6.8150187" width="19.630037"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-1.0400832" width="3.9198337"/>
|
||||
<tileData x="8.253105" width="9.812542"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="true" moving="true" deadly="true" leftEdge="1.9166656" rightEdge="2.4166656" height="0.5" y="0.2766666">
|
||||
<moveComponent width="0.0" height="1.717" x="2.1666656" y="0.2766666" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="true" deadly="false" leftEdge="5.3966713" rightEdge="5.8966713" height="0.5" y="-0.35000002">
|
||||
<moveComponent width="2.841" height="0.0" x="5.6466713" y="-0.35000002" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="true" leftEdge="9.8766775" rightEdge="10.3766775" height="0.5" y="-0.35000002">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="true" deadly="false" leftEdge="14.763373" rightEdge="15.263373" height="0.5" y="0.21666658">
|
||||
<moveComponent width="2.386" height="1.351" x="15.013373" y="0.21666658" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="4" goalX="3.0" startSpeed="0.0" endSpeed="0.0" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.0" width="6.0"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="0.0" width="6.0"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="5" goalX="2.606667" startSpeed="0.1" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.19666648" width="5.606667"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.19666648" width="5.606667"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="6" goalX="6.053331" startSpeed="0.1" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.89166594" width="7.783332"/>
|
||||
<tileData x="5.668331" width="0.769999"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.03000021" width="5.9399996"/>
|
||||
<tileData x="4.4966655" width="3.113331"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="7" goalX="6.633333" startSpeed="0.1" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.8699992" width="7.7399983"/>
|
||||
<tileData x="5.9866657" width="1.2933354"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="1.8166666" width="9.633333"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="true" moving="true" deadly="false" leftEdge="-0.15199986" rightEdge="0.19200015" height="0.357" y="0.026666664">
|
||||
<moveComponent width="1.288" height="1.111" x="0.020000145" y="0.026666664" speed="0.5"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
</levels>
|
||||
|
@ -36,16 +36,16 @@
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\exploded-aar\\com.android.support\\appcompat-v7\\23.1.1\\res\\drawable\\abc_tab_indicator_material.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_btn_borderless_material.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\exploded-aar\\com.android.support\\appcompat-v7\\23.1.1\\res\\drawable\\abc_btn_borderless_material.xml"
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\springbutton.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\springbutton.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\playerarrow.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\playerarrow.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\springbutton.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\springbutton.png"
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_btn_borderless_material.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\exploded-aar\\com.android.support\\appcompat-v7\\23.1.1\\res\\drawable\\abc_btn_borderless_material.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_list_selector_holo_dark.xml",
|
||||
@ -179,6 +179,10 @@
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_edit_text_material.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\exploded-aar\\com.android.support\\appcompat-v7\\23.1.1\\res\\drawable\\abc_edit_text_material.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\background_cave.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\background_cave.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\blueparticle.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\blueparticle.png"
|
||||
@ -255,6 +259,10 @@
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\redparticle.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\redparticle.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\background_icymountains.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\background_icymountains.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_seekbar_track_material.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\exploded-aar\\com.android.support\\appcompat-v7\\23.1.1\\res\\drawable\\abc_seekbar_track_material.xml"
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -464,51 +464,53 @@ int drawable abc_textfield_search_activated_mtrl_alpha 0x7f020042
|
||||
int drawable abc_textfield_search_default_mtrl_alpha 0x7f020043
|
||||
int drawable abc_textfield_search_material 0x7f020044
|
||||
int drawable background 0x7f020045
|
||||
int drawable ball 0x7f020046
|
||||
int drawable blueparticle 0x7f020047
|
||||
int drawable bomb 0x7f020048
|
||||
int drawable bombbutton 0x7f020049
|
||||
int drawable custom_button 0x7f02004a
|
||||
int drawable emptybutton 0x7f02004b
|
||||
int drawable goal 0x7f02004c
|
||||
int drawable grasslands_preview 0x7f02004d
|
||||
int drawable levelbutton_background 0x7f02004e
|
||||
int drawable levelupbackground 0x7f02004f
|
||||
int drawable lock 0x7f020050
|
||||
int drawable lockedbutton 0x7f020051
|
||||
int drawable magnet 0x7f020052
|
||||
int drawable magnetbutton 0x7f020053
|
||||
int drawable menu_background 0x7f020054
|
||||
int drawable notification_template_icon_bg 0x7f020072
|
||||
int drawable obstacle 0x7f020055
|
||||
int drawable pausebutton 0x7f020056
|
||||
int drawable playerarrow 0x7f020057
|
||||
int drawable purple 0x7f020058
|
||||
int drawable ramp 0x7f020059
|
||||
int drawable rampbutton 0x7f02005a
|
||||
int drawable redparticle 0x7f02005b
|
||||
int drawable shortmenubackground 0x7f02005c
|
||||
int drawable sound_off 0x7f02005d
|
||||
int drawable sound_on 0x7f02005e
|
||||
int drawable sound_toggle 0x7f02005f
|
||||
int drawable splitter 0x7f020060
|
||||
int drawable spring 0x7f020061
|
||||
int drawable springbutton 0x7f020062
|
||||
int drawable star 0x7f020063
|
||||
int drawable star_icon 0x7f020064
|
||||
int drawable stars_0 0x7f020065
|
||||
int drawable stars_1 0x7f020066
|
||||
int drawable stars_2 0x7f020067
|
||||
int drawable stars_3 0x7f020068
|
||||
int drawable terrain 0x7f020069
|
||||
int drawable test 0x7f02006a
|
||||
int drawable tool_slot_background 0x7f02006b
|
||||
int drawable toolprogressbarlayers 0x7f02006c
|
||||
int drawable unlock_message_background 0x7f02006d
|
||||
int drawable unlocked 0x7f02006e
|
||||
int drawable unlockedbutton 0x7f02006f
|
||||
int drawable worldbutton_background 0x7f020070
|
||||
int drawable yellowparticle 0x7f020071
|
||||
int drawable background_cave 0x7f020046
|
||||
int drawable background_icymountains 0x7f020047
|
||||
int drawable ball 0x7f020048
|
||||
int drawable blueparticle 0x7f020049
|
||||
int drawable bomb 0x7f02004a
|
||||
int drawable bombbutton 0x7f02004b
|
||||
int drawable custom_button 0x7f02004c
|
||||
int drawable emptybutton 0x7f02004d
|
||||
int drawable goal 0x7f02004e
|
||||
int drawable grasslands_preview 0x7f02004f
|
||||
int drawable levelbutton_background 0x7f020050
|
||||
int drawable levelupbackground 0x7f020051
|
||||
int drawable lock 0x7f020052
|
||||
int drawable lockedbutton 0x7f020053
|
||||
int drawable magnet 0x7f020054
|
||||
int drawable magnetbutton 0x7f020055
|
||||
int drawable menu_background 0x7f020056
|
||||
int drawable notification_template_icon_bg 0x7f020074
|
||||
int drawable obstacle 0x7f020057
|
||||
int drawable pausebutton 0x7f020058
|
||||
int drawable playerarrow 0x7f020059
|
||||
int drawable purple 0x7f02005a
|
||||
int drawable ramp 0x7f02005b
|
||||
int drawable rampbutton 0x7f02005c
|
||||
int drawable redparticle 0x7f02005d
|
||||
int drawable shortmenubackground 0x7f02005e
|
||||
int drawable sound_off 0x7f02005f
|
||||
int drawable sound_on 0x7f020060
|
||||
int drawable sound_toggle 0x7f020061
|
||||
int drawable splitter 0x7f020062
|
||||
int drawable spring 0x7f020063
|
||||
int drawable springbutton 0x7f020064
|
||||
int drawable star 0x7f020065
|
||||
int drawable star_icon 0x7f020066
|
||||
int drawable stars_0 0x7f020067
|
||||
int drawable stars_1 0x7f020068
|
||||
int drawable stars_2 0x7f020069
|
||||
int drawable stars_3 0x7f02006a
|
||||
int drawable terrain 0x7f02006b
|
||||
int drawable test 0x7f02006c
|
||||
int drawable tool_slot_background 0x7f02006d
|
||||
int drawable toolprogressbarlayers 0x7f02006e
|
||||
int drawable unlock_message_background 0x7f02006f
|
||||
int drawable unlocked 0x7f020070
|
||||
int drawable unlockedbutton 0x7f020071
|
||||
int drawable worldbutton_background 0x7f020072
|
||||
int drawable yellowparticle 0x7f020073
|
||||
int id action0 0x7f0d0069
|
||||
int id action_bar 0x7f0d0041
|
||||
int id action_bar_activity_content 0x7f0d0000
|
||||
|
@ -1,7 +1,7 @@
|
||||
<levelPack>
|
||||
<world>GRASSLANDS</world>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level number="1" goalX="22.606565" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="1" goalX="22.606565" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.5854988" width="7.1709976"/>
|
||||
<tileData x="10.153494" width="10.408993"/>
|
||||
@ -9,10 +9,10 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="10.873024" rightEdge="11.427025" height="0.304" y="-0.448" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="14.860029" rightEdge="15.360029" height="0.3" y="-0.45000002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.096622" rightEdge="22.096622" height="0.25" y="-0.47500002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="22.166656" rightEdge="22.666656" height="0.639" y="-0.28050002" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="10.873024" rightEdge="11.427025" height="0.304" y="-0.448"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="14.860029" rightEdge="15.360029" height="0.3" y="-0.45000002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.096622" rightEdge="22.096622" height="0.25" y="-0.47500002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="22.166656" rightEdge="22.666656" height="0.639" y="-0.28050002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="11.159975" y="-0.15999995" width="0.25" height="0.25"/>
|
||||
@ -20,7 +20,7 @@
|
||||
<starData index="3" x="22.043303" y="-0.20666662" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="2" goalX="22.366613" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="2" goalX="22.366613" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.9448314" width="7.8896627"/>
|
||||
<tileData x="8.345928" width="4.4445295"/>
|
||||
@ -30,16 +30,16 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="3.3708305" rightEdge="4.8758307" height="0.2" y="-0.5" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="11.334382" rightEdge="11.912381" height="0.319" y="-0.44050002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="2.4509985" rightEdge="3.3089983" height="0.275" y="-0.46250004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="1.6111658" rightEdge="2.3221657" height="0.338" y="-0.43100002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="16.037212" rightEdge="16.856213" height="0.435" y="-0.38250002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="16.873312" rightEdge="17.873312" height="0.367" y="-0.41650003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="17.884027" rightEdge="18.896029" height="0.327" y="-0.4365" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="19.046677" rightEdge="19.546677" height="0.884" y="-0.15800002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="15.948046" rightEdge="16.852045" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.123379" rightEdge="20.623379" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.3708305" rightEdge="4.8758307" height="0.2" y="-0.5"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="11.334382" rightEdge="11.912381" height="0.319" y="-0.44050002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.4509985" rightEdge="3.3089983" height="0.275" y="-0.46250004"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.6111658" rightEdge="2.3221657" height="0.338" y="-0.43100002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="16.037212" rightEdge="16.856213" height="0.435" y="-0.38250002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="16.873312" rightEdge="17.873312" height="0.367" y="-0.41650003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="17.884027" rightEdge="18.896029" height="0.327" y="-0.4365"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.046677" rightEdge="19.546677" height="0.884" y="-0.15800002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.948046" rightEdge="16.852045" height="0.5" y="-0.35000002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.123379" rightEdge="20.623379" height="0.5" y="-0.35000002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="10.94335" y="-0.61999965" width="0.25" height="0.25"/>
|
||||
@ -47,7 +47,7 @@
|
||||
<starData index="3" x="18.893328" y="-0.12666662" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="3" goalX="19.200012" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="3" goalX="19.200012" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.4151678" width="5.1696644"/>
|
||||
<tileData x="7.1337633" width="8.020197"/>
|
||||
@ -55,12 +55,12 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="8.00651" rightEdge="8.67351" height="0.319" y="-0.44050002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="11.703371" rightEdge="12.7233715" height="0.299" y="-0.4505" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="15.164396" rightEdge="15.762396" height="0.466" y="-0.36700004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="15.891703" rightEdge="16.901701" height="0.402" y="-0.39900002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="16.998373" rightEdge="18.248373" height="0.353" y="-0.42350003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="18.396694" rightEdge="18.896694" height="0.789" y="-0.20550004" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.00651" rightEdge="8.67351" height="0.319" y="-0.44050002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="11.703371" rightEdge="12.7233715" height="0.299" y="-0.4505"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.164396" rightEdge="15.762396" height="0.466" y="-0.36700004"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.891703" rightEdge="16.901701" height="0.402" y="-0.39900002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="16.998373" rightEdge="18.248373" height="0.353" y="-0.42350003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="18.396694" rightEdge="18.896694" height="0.789" y="-0.20550004"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="2.6399994" y="0.10666669" width="0.25" height="0.25"/>
|
||||
@ -68,7 +68,7 @@
|
||||
<starData index="3" x="12.253348" y="-0.13333318" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="4" goalX="23.933224" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="4" goalX="23.933224" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="6.06402" width="18.12804"/>
|
||||
<tileData x="19.269924" width="3.0757751"/>
|
||||
@ -78,13 +78,13 @@
|
||||
<tileData x="23.786556" width="0.29333496"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="1.9489989" rightEdge="2.5509992" height="0.354" y="-0.42300004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="18.512207" rightEdge="21.241207" height="0.408" y="0.50399995" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="8.408872" rightEdge="11.137872" height="0.803" y="-0.19850004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="11.196732" rightEdge="14.196732" height="0.5" y="0.3966666" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="14.865067" rightEdge="17.775066" height="0.299" y="0.48666632" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="17.824553" rightEdge="18.475554" height="1.415" y="0.10749996" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="5.79467" rightEdge="8.37867" height="0.544" y="-0.328" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.9489989" rightEdge="2.5509992" height="0.354" y="-0.42300004"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="18.512207" rightEdge="21.241207" height="0.408" y="0.50399995"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.408872" rightEdge="11.137872" height="0.803" y="-0.19850004"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.196732" rightEdge="14.196732" height="0.5" y="0.3966666"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="14.865067" rightEdge="17.775066" height="0.299" y="0.48666632"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="17.824553" rightEdge="18.475554" height="1.415" y="0.10749996"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="5.79467" rightEdge="8.37867" height="0.544" y="-0.328"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="11.560022" y="-0.26000002" width="0.25" height="0.25"/>
|
||||
@ -92,17 +92,17 @@
|
||||
<starData index="3" x="21.9833" y="-0.099999994" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="5" goalX="16.249996" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="5" goalX="16.249996" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="1.9915047" width="9.983009"/>
|
||||
<tileData x="12.045149" width="7.65627"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="2.3669987" rightEdge="2.7929988" height="1.074" y="-0.06300002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="12.000204" rightEdge="13.373203" height="0.946" y="-0.12700003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="13.539708" rightEdge="15.093709" height="0.725" y="-0.23750001" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="15.29672" rightEdge="15.79672" height="1.539" y="0.1695" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.3669987" rightEdge="2.7929988" height="1.074" y="-0.06300002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="12.000204" rightEdge="13.373203" height="0.946" y="-0.12700003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="13.539708" rightEdge="15.093709" height="0.725" y="-0.23750001"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.29672" rightEdge="15.79672" height="1.539" y="0.1695"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="2.5799987" y="0.62" width="0.25" height="0.25"/>
|
||||
@ -110,7 +110,7 @@
|
||||
<starData index="3" x="11.85002" y="-0.4533334" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="6" goalX="27.539873" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="6" goalX="27.539873" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.4867487" width="6.9734974"/>
|
||||
<tileData x="7.8615937" width="5.390193"/>
|
||||
@ -119,20 +119,20 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="1.1131666" rightEdge="1.5001667" height="0.941" y="-0.12950003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="1.6498328" rightEdge="1.7768329" height="0.902" y="-0.14900002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="1.9103339" rightEdge="2.1163337" height="0.838" y="-0.18100002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="2.224499" rightEdge="2.415499" height="0.735" y="-0.23250002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="2.500666" rightEdge="2.6726658" height="0.613" y="-0.29350004" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="2.7449994" rightEdge="3.9749994" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="5.1713314" rightEdge="5.955332" height="0.186" y="-0.507" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="10.060041" rightEdge="10.560041" height="0.843" y="-0.17850003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.506636" rightEdge="20.806635" height="0.558" y="-0.321" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.5105" rightEdge="20.8095" height="0.286" y="0.9333331" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="14.943075" rightEdge="16.437075" height="0.231" y="-0.48450002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="25.300407" rightEdge="26.619408" height="0.612" y="-0.29400003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="23.873228" rightEdge="24.373228" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="24.34991" rightEdge="24.84991" height="0.5" y="-0.35000002" attachedToGround="true"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.1131666" rightEdge="1.5001667" height="0.941" y="-0.12950003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.6498328" rightEdge="1.7768329" height="0.902" y="-0.14900002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.9103339" rightEdge="2.1163337" height="0.838" y="-0.18100002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.224499" rightEdge="2.415499" height="0.735" y="-0.23250002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.500666" rightEdge="2.6726658" height="0.613" y="-0.29350004"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.7449994" rightEdge="3.9749994" height="0.5" y="-0.35000002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="5.1713314" rightEdge="5.955332" height="0.186" y="-0.507"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="10.060041" rightEdge="10.560041" height="0.843" y="-0.17850003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.506636" rightEdge="20.806635" height="0.558" y="-0.321"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="20.5105" rightEdge="20.8095" height="0.286" y="0.9333331"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="14.943075" rightEdge="16.437075" height="0.231" y="-0.48450002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="25.300407" rightEdge="26.619408" height="0.612" y="-0.29400003"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="23.873228" rightEdge="24.373228" height="0.5" y="-0.35000002"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="24.34991" rightEdge="24.84991" height="0.5" y="-0.35000002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="4.586666" y="-0.5866665" width="0.25" height="0.25"/>
|
||||
@ -140,7 +140,7 @@
|
||||
<starData index="3" x="20.64665" y="0.39999995" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="7" goalX="25.866587" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="7" goalX="25.866587" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="2.1916704" width="10.383341"/>
|
||||
<tileData x="11.639271" width="7.31187"/>
|
||||
@ -151,19 +151,19 @@
|
||||
<tileData x="25.669922" width="0.39332962"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="2.9593315" rightEdge="3.9473314" height="0.313" y="-0.01333334" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="3.987667" rightEdge="5.565667" height="0.272" y="-0.046666723" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="10.1723585" rightEdge="12.214358" height="0.095" y="0.027500032" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="5.595845" rightEdge="6.950845" height="0.19" y="-0.073333286" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="8.669004" rightEdge="10.151005" height="0.218" y="0.0023332927" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="6.992841" rightEdge="7.353841" height="0.558" y="-0.321" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="19.32099" rightEdge="19.718988" height="0.762" y="-0.21900001" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="19.963318" rightEdge="20.463318" height="0.5" y="0.7533332" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="20.287636" rightEdge="21.245636" height="0.435" y="-0.38250002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="12.539991" rightEdge="13.659992" height="0.395" y="0.124166645" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="11.773358" rightEdge="12.273358" height="0.884" y="0.5499999" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="20.503757" rightEdge="21.642757" height="0.327" y="0.3799999" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="24.1271" rightEdge="24.886099" height="0.694" y="-0.25300002" attachedToGround="true"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.9593315" rightEdge="3.9473314" height="0.313" y="-0.01333334"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.987667" rightEdge="5.565667" height="0.272" y="-0.046666723"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="10.1723585" rightEdge="12.214358" height="0.095" y="0.027500032"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="5.595845" rightEdge="6.950845" height="0.19" y="-0.073333286"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="8.669004" rightEdge="10.151005" height="0.218" y="0.0023332927"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="6.992841" rightEdge="7.353841" height="0.558" y="-0.321"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.32099" rightEdge="19.718988" height="0.762" y="-0.21900001"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="19.963318" rightEdge="20.463318" height="0.5" y="0.7533332"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.287636" rightEdge="21.245636" height="0.435" y="-0.38250002"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="12.539991" rightEdge="13.659992" height="0.395" y="0.124166645"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.773358" rightEdge="12.273358" height="0.884" y="0.5499999"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="20.503757" rightEdge="21.642757" height="0.327" y="0.3799999"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="24.1271" rightEdge="24.886099" height="0.694" y="-0.25300002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="6.6800065" y="-0.38666666" width="0.25" height="0.25"/>
|
||||
@ -171,7 +171,7 @@
|
||||
<starData index="3" x="20.679989" y="0.85333335" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="8" goalX="17.896662" startSpeed="0.25" endSpeed="0.7" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level number="8" goalX="17.896662" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.0766673" width="1.8466654"/>
|
||||
<tileData x="2.5266657" width="0.7200012"/>
|
||||
@ -180,16 +180,16 @@
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="4.979664" rightEdge="5.9736643" height="0.286" y="-0.89333284" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="3.057998" rightEdge="3.9619977" height="0.299" y="-0.81333286" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="3.9729972" rightEdge="4.9669976" height="0.286" y="-0.8533326" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="5.997839" rightEdge="6.8288393" height="0.231" y="-0.9199996" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="11.854198" rightEdge="13.119198" height="1.02" y="0.023333304" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="13.15453" rightEdge="13.805531" height="0.639" y="0.13999994" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="14.541548" rightEdge="15.698547" height="0.422" y="-0.38900003" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="11.286684" rightEdge="14.286684" height="0.218" y="-1.1266662" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="6.876839" rightEdge="7.689839" height="0.286" y="-1.0" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="-1.0233328" rightEdge="1.9766672" height="0.136" y="-0.86666656" attachedToGround="false"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.979664" rightEdge="5.9736643" height="0.286" y="-0.89333284"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.057998" rightEdge="3.9619977" height="0.299" y="-0.81333286"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.9729972" rightEdge="4.9669976" height="0.286" y="-0.8533326"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="5.997839" rightEdge="6.8288393" height="0.231" y="-0.9199996"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.854198" rightEdge="13.119198" height="1.02" y="0.023333304"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="13.15453" rightEdge="13.805531" height="0.639" y="0.13999994"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="14.541548" rightEdge="15.698547" height="0.422" y="-0.38900003"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.286684" rightEdge="14.286684" height="0.218" y="-1.1266662"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="6.876839" rightEdge="7.689839" height="0.286" y="-1.0"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="-1.0233328" rightEdge="1.9766672" height="0.136" y="-0.86666656"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="2.543333" y="0.3933335" width="0.25" height="0.25"/>
|
||||
|
@ -1,93 +1,97 @@
|
||||
<levelPack>
|
||||
<world>TESTCAVE</world>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level number="1" goalX="32.129963" startSpeed="0.25" endSpeed="0.7" terrainEdge="0.305" ceilingEdge="0.538">
|
||||
<level number="1" goalX="33.663338" startSpeed="0.6" endSpeed="0.6" terrainEdge="-0.979" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.5737498" width="0.85250044"/>
|
||||
<tileData x="0.14783376" width="0.40066564"/>
|
||||
<tileData x="1.9032495" width="0.47616577"/>
|
||||
<tileData x="6.2710066" width="4.691348"/>
|
||||
<tileData x="15.331669" width="36.663338"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="0.37516427" width="6.7503285"/>
|
||||
<tileData x="7.106504" width="3.0203505"/>
|
||||
<tileData x="15.331669" width="36.663338"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="9.0" rightEdge="10.0" height="0.3" y="0.455" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="13.0" rightEdge="14.0" height="0.2" y="0.405" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="19.52634" rightEdge="20.580341" height="0.3" y="0.455" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="20.580004" rightEdge="21.580004" height="0.5" y="0.555" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="21.580002" rightEdge="22.580002" height="0.1" y="0.35500002" attachedToGround="true"/>
|
||||
<obstacleData type="" leftEdge="-0.25" rightEdge="0.25" height="0.5" y="0.0" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="-0.25" rightEdge="0.25" height="0.5" y="0.0" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="-0.32999998" rightEdge="0.17000002" height="0.5" y="0.48000002" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="0.5966666" rightEdge="1.0966666" height="0.5" y="0.50666666" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="3.2433324" rightEdge="3.7433324" height="0.5" y="0.45999995" attachedToGround="false"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.9099994" rightEdge="2.4099994" height="0.5" y="-0.729">
|
||||
<moveComponent width="5.0" height="4.217" x="3.2333317" y="-0.729" speed="0.508"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="0.8499999" rightEdge="1.3499999" height="0.5" y="-0.729">
|
||||
<moveComponent width="3.939" height="1.275" x="0.0" y="-0.729" speed="0.896"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="-2.6633325" rightEdge="-2.1633325" height="0.5" y="-0.729">
|
||||
<moveComponent width="0.076" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="true" deadly="true" leftEdge="1.2500002" rightEdge="1.7500002" height="0.5" y="0.24666664">
|
||||
<moveComponent width="2.841" height="1.212" x="1.5000002" y="0.24666664" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="10.163283" y="-0.05999978" width="0.25" height="0.25"/>
|
||||
<starData index="2" x="19.366709" y="-0.046666652" width="0.25" height="0.25"/>
|
||||
<starData index="3" x="21.73662" y="0.05333341" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="3" goalX="8.616679" startSpeed="0.19" endSpeed="0.44" terrainEdge="-0.861" ceilingEdge="-0.637">
|
||||
<level number="2" goalX="13.38005" startSpeed="0.5" endSpeed="0.6" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.19666648" width="5.606667"/>
|
||||
<tileData x="2.2557545" width="10.511509"/>
|
||||
<tileData x="8.660347" width="0.8236685"/>
|
||||
<tileData x="11.630615" width="3.498868"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.2467475" width="1.5065048"/>
|
||||
<tileData x="1.1300858" width="0.893161"/>
|
||||
<tileData x="5.396673" width="6.440013"/>
|
||||
<tileData x="5.1900253" width="16.38005"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData type="" leftEdge="1.3278332" rightEdge="3.098833" height="0.5" y="-0.2733331" attachedToGround="false"/>
|
||||
<obstacleData type="" leftEdge="4.0364995" rightEdge="6.2235" height="0.109" y="0.61333334" attachedToGround="false"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="0.46000051" rightEdge="0.9600005" height="0.694" y="0.15333341"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="1.0306667" rightEdge="1.4826666" height="0.789" y="0.08666667"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="1.5308328" rightEdge="2.2358327" height="0.68" y="0.07333334"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.376332" rightEdge="2.810332" height="0.816" y="0.25333333"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.9108317" rightEdge="3.2358315" height="0.844" y="0.15333337"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.3118312" rightEdge="3.6548312" height="0.98" y="-0.110000014"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.883165" rightEdge="4.190165" height="0.68" y="-0.26000002"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.8149962" rightEdge="5.2849965" height="0.422" y="0.25999996"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="5.329664" rightEdge="5.9436646" height="0.544" y="0.060000002"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="6.0306664" rightEdge="6.482666" height="0.83" y="0.13333333"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="6.600003" rightEdge="6.980003" height="0.735" y="0.033333324"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="7.1111717" rightEdge="7.3821716" height="0.626" y="0.19999996"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="7.416671" rightEdge="8.916671" height="0.272" y="0.1866666"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="9.453531" rightEdge="10.266531" height="0.136" y="-0.532"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.386221" rightEdge="13.067221" height="0.34" y="0.07999999"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="6.0466657" y="0.83333325" width="0.25" height="0.25"/>
|
||||
<starData index="1" x="3.0633316" y="-0.43333337" width="0.25" height="0.25"/>
|
||||
<starData index="2" x="9.686677" y="-0.76000005" width="0.25" height="0.25"/>
|
||||
<starData index="3" x="13.110031" y="0.8466663" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="4" goalX="3.0" startSpeed="0.1" endSpeed="0.5" terrainEdge="-0.583" ceilingEdge="0.582">
|
||||
<level number="3" goalX="16.630037" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="0.692">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="6.8150187" width="19.630037"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-1.0400832" width="3.9198337"/>
|
||||
<tileData x="8.253105" width="9.812542"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="true" moving="true" deadly="true" leftEdge="1.9166656" rightEdge="2.4166656" height="0.5" y="0.2766666">
|
||||
<moveComponent width="0.0" height="1.717" x="2.1666656" y="0.2766666" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="true" deadly="false" leftEdge="5.3966713" rightEdge="5.8966713" height="0.5" y="-0.35000002">
|
||||
<moveComponent width="2.841" height="0.0" x="5.6466713" y="-0.35000002" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="true" leftEdge="9.8766775" rightEdge="10.3766775" height="0.5" y="-0.35000002">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="true" deadly="false" leftEdge="14.763373" rightEdge="15.263373" height="0.5" y="0.21666658">
|
||||
<moveComponent width="2.386" height="1.351" x="15.013373" y="0.21666658" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="4" goalX="3.0" startSpeed="0.0" endSpeed="0.0" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.0" width="6.0"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="0.0" width="6.0"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="5" goalX="2.606667" startSpeed="0.1" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.19666648" width="5.606667"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.19666648" width="5.606667"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="6" goalX="6.053331" startSpeed="0.1" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.89166594" width="7.783332"/>
|
||||
<tileData x="5.668331" width="0.769999"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.03000021" width="5.9399996"/>
|
||||
<tileData x="4.4966655" width="3.113331"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="7" goalX="6.633333" startSpeed="0.1" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.8699992" width="7.7399983"/>
|
||||
<tileData x="5.9866657" width="1.2933354"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="1.8166666" width="9.633333"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="true" moving="true" deadly="false" leftEdge="-0.15199986" rightEdge="0.19200015" height="0.357" y="0.026666664">
|
||||
<moveComponent width="1.288" height="1.111" x="0.020000145" y="0.026666664" speed="0.5"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
</levels>
|
||||
|
@ -34,6 +34,10 @@ public class Entity extends Quad {
|
||||
position.y = terrainEdge + height / 2;
|
||||
}
|
||||
|
||||
public void setTopEdge(float y){
|
||||
position.y = y - height / 2;
|
||||
}
|
||||
|
||||
public Texture getTexture() {
|
||||
return texture;
|
||||
}
|
||||
|
@ -1,18 +1,89 @@
|
||||
package com.example.julian.endlessroll.entities;
|
||||
|
||||
import com.example.julian.endlessroll.data.Vector;
|
||||
import com.example.julian.endlessroll.levels.MoveComponent;
|
||||
import com.example.julian.endlessroll.levels.ObstacleData;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
import com.example.julian.endlessroll.main.GameLog;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* Created by Julian on 20.11.2015.
|
||||
*/
|
||||
public class Obstacle extends Entity {
|
||||
|
||||
private boolean deadly;
|
||||
private boolean floating;
|
||||
private boolean moving;
|
||||
private MoveComponent moveComponent;
|
||||
|
||||
private Vertex zeroPoint;
|
||||
private boolean clockwise;
|
||||
private float totalMoveDistance;
|
||||
|
||||
private float moveProgress;
|
||||
|
||||
public Obstacle(World world, ObstacleData data, float terrainEdge) {
|
||||
super(world.getObstacle(), new Vector(data.getX(), data.getY()), data.getWidth(), data.getHeight());
|
||||
if (data.isAttachedToGround())
|
||||
super(world.getObstacleTexture(), new Vector(data.getX(), data.getY()), data.getWidth(), data.getHeight());
|
||||
this.deadly = data.isDeadly();
|
||||
this.floating = data.isFloating();
|
||||
this.moving = data.isMoving();
|
||||
this.moveComponent = data.getMoveComponent();
|
||||
|
||||
if (!floating)
|
||||
super.setToTerrain(terrainEdge);
|
||||
setTextureAtlasIndex();
|
||||
if (moving)
|
||||
randomMovementData();
|
||||
}
|
||||
|
||||
public void moveWithMoveComponent(float value) {
|
||||
float distance = value * moveComponent.getSpeed() * 0.001f;
|
||||
moveProgress += distance / totalMoveDistance;
|
||||
moveProgress %= 1.0f;
|
||||
setPositionForMoveProgress();
|
||||
}
|
||||
|
||||
private void setPositionForMoveProgress() {
|
||||
float distance = 0;
|
||||
Vertex lastVertex = zeroPoint;
|
||||
while (true) {
|
||||
Vertex nextVertex = lastVertex.getNext(clockwise);
|
||||
float nextDistance = distance + (Math.abs(lastVertex.getX() - nextVertex.getX()) * 0.5f * moveComponent.getWidth()) + (Math.abs(lastVertex.getY() - nextVertex.getY()) * 0.5f * moveComponent.getHeight());
|
||||
if (nextDistance >= moveProgress * totalMoveDistance) {
|
||||
float distanceLeft = moveProgress * totalMoveDistance - distance;
|
||||
Vector direction = new Vector(nextVertex.getX(), nextVertex.getY()).translate(new Vector(lastVertex.getX(), lastVertex.getY()).negate());
|
||||
direction = direction.mul(0.5f * distanceLeft);
|
||||
GameLog.i("Direction: "+direction.toString());
|
||||
super.setPosition(moveComponent.getPositionOfVertex(lastVertex).translate(direction));
|
||||
return;
|
||||
}
|
||||
distance = nextDistance;
|
||||
lastVertex = nextVertex;
|
||||
}
|
||||
}
|
||||
|
||||
private void randomMovementData() {
|
||||
Random random = new Random();
|
||||
int index = random.nextInt(4);
|
||||
zeroPoint = Vertex.values()[index];
|
||||
clockwise = random.nextBoolean();
|
||||
totalMoveDistance = moveComponent.getWidth() * 2 + moveComponent.getHeight() * 2;
|
||||
}
|
||||
|
||||
private void setTextureAtlasIndex() {
|
||||
if (deadly)
|
||||
super.getTexture().setAtlasIndex(1);
|
||||
if (floating)
|
||||
super.getTexture().setAtlasIndex(2);
|
||||
}
|
||||
|
||||
public boolean isMoving() {
|
||||
return moving;
|
||||
}
|
||||
|
||||
public boolean isDeadly() {
|
||||
return deadly;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,45 @@
|
||||
package com.example.julian.endlessroll.entities;
|
||||
|
||||
import com.example.julian.endlessroll.data.Vector;
|
||||
import com.example.julian.endlessroll.main.GameLog;
|
||||
|
||||
/**
|
||||
* Created by Julian on 11.12.2016.
|
||||
*/
|
||||
|
||||
public enum Vertex {
|
||||
|
||||
UL(0, -1, 1), UR(1, 1, 1), BL(3, -1, -1), BR(2, 1, -1);
|
||||
|
||||
private int index;
|
||||
private float x, y;
|
||||
|
||||
Vertex(int index, float x, float y) {
|
||||
this.index = index;
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
}
|
||||
|
||||
public Vertex getNext(boolean clockwise) {
|
||||
int newIndex = index + 1;
|
||||
if (!clockwise)
|
||||
newIndex = index - 1;
|
||||
if (newIndex > 3)
|
||||
newIndex = 0;
|
||||
if (newIndex < 0)
|
||||
newIndex = 3;
|
||||
for (Vertex vertex : values())
|
||||
if (vertex.index == newIndex)
|
||||
return vertex;
|
||||
GameLog.e("No vertex with index "+ index +" found!!!");
|
||||
return null;
|
||||
}
|
||||
|
||||
public float getX() {
|
||||
return x;
|
||||
}
|
||||
|
||||
public float getY() {
|
||||
return y;
|
||||
}
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package com.example.julian.endlessroll.entities.collision;
|
||||
|
||||
import com.example.julian.endlessroll.entities.Obstacle;
|
||||
import com.example.julian.endlessroll.entities.Player;
|
||||
import com.example.julian.endlessroll.entities.Star;
|
||||
import com.example.julian.endlessroll.entities.collision.collisionData.EntityCollisionData;
|
||||
@ -29,6 +30,8 @@ public class CollisionManager {
|
||||
PlayerCollisionData data = physics.getPlayerCollisionData(scene);
|
||||
if (data.isTerrainCollision())
|
||||
checkTerrainCollision(data.getTerrainCollisionData());
|
||||
if (data.isCeilingCollision())
|
||||
checkCeilingCollision(data.getCeilingCollisionData());
|
||||
if (data.isObstacleCollision())
|
||||
checkObstacleCollision(data.getObstacleCollisionData());
|
||||
if (data.isToolCollision())
|
||||
@ -43,6 +46,12 @@ public class CollisionManager {
|
||||
game.onGameOver(true);
|
||||
}
|
||||
|
||||
private void checkCeilingCollision(EntityCollisionData data) {
|
||||
checkEntityCollision(data, -0.01f);
|
||||
if (data.getEdge() == Edge.RIGHT || data.getEdge() == Edge.LEFT)
|
||||
game.onGameOver(true);
|
||||
}
|
||||
|
||||
private void checkToolCollision(ToolCollisionData data) {
|
||||
for (Tool tool : data.getTools())
|
||||
tool.onPlayerCollision(player);
|
||||
@ -51,7 +60,7 @@ public class CollisionManager {
|
||||
private void checkObstacleCollision(ObstacleCollisionData data) {
|
||||
for (EntityCollisionData entityData : data.getCollisions()) {
|
||||
checkEntityCollision(entityData, 0);
|
||||
if (entityData.getEdge() != Edge.TOP)
|
||||
if (entityData.getEdge() != Edge.TOP || ((Obstacle)entityData.getEntity()).isDeadly())
|
||||
game.onGameOver(true);
|
||||
}
|
||||
}
|
||||
@ -62,6 +71,10 @@ public class CollisionManager {
|
||||
player.getMovement().y = 0;
|
||||
player.setToTerrain(data.getEntity().getTopEdge());
|
||||
break;
|
||||
case BOTTOM:
|
||||
player.getMovement().y = 0;
|
||||
player.setTopEdge(data.getEntity().getBottomEdge());
|
||||
break;
|
||||
case LEFT:
|
||||
player.getMovement().x *= xBounceFactor;
|
||||
player.getPosition().x = data.getEntity().getLeftEdge() - player.RADIUS;
|
||||
|
@ -6,12 +6,14 @@ package com.example.julian.endlessroll.entities.collision.collisionData;
|
||||
public class PlayerCollisionData {
|
||||
|
||||
private EntityCollisionData terrainCollision;
|
||||
private EntityCollisionData ceilingCollision;
|
||||
private ObstacleCollisionData obstacleCollision;
|
||||
private ToolCollisionData toolCollision;
|
||||
private EntityCollisionData starCollision;
|
||||
|
||||
public PlayerCollisionData(EntityCollisionData terrainCollision, ObstacleCollisionData obstacleCollision, ToolCollisionData toolCollision, EntityCollisionData starCollision) {
|
||||
public PlayerCollisionData(EntityCollisionData terrainCollision, EntityCollisionData ceilingCollision, ObstacleCollisionData obstacleCollision, ToolCollisionData toolCollision, EntityCollisionData starCollision) {
|
||||
this.terrainCollision = terrainCollision;
|
||||
this.ceilingCollision = ceilingCollision;
|
||||
this.obstacleCollision = obstacleCollision;
|
||||
this.toolCollision = toolCollision;
|
||||
this.starCollision = starCollision;
|
||||
@ -25,6 +27,14 @@ public class PlayerCollisionData {
|
||||
return terrainCollision;
|
||||
}
|
||||
|
||||
public boolean isCeilingCollision() {
|
||||
return ceilingCollision.isCollision();
|
||||
}
|
||||
|
||||
public EntityCollisionData getCeilingCollisionData() {
|
||||
return ceilingCollision;
|
||||
}
|
||||
|
||||
public boolean isObstacleCollision() {
|
||||
return obstacleCollision.isCollision();
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ import com.example.julian.endlessroll.entities.textures.Texture;
|
||||
import com.example.julian.endlessroll.main.game.Timer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
@ -44,15 +45,17 @@ public class ParticleEffect {
|
||||
private String textureName;
|
||||
|
||||
private Random random;
|
||||
private List<ParticleSource> sources = new ArrayList<>();
|
||||
private List<ParticleSource> sources = Collections.synchronizedList(new ArrayList<ParticleSource>());
|
||||
|
||||
public ParticleEffect() {
|
||||
this.random = new Random();
|
||||
}
|
||||
|
||||
public void update(Timer timer) {
|
||||
for (ParticleSource source : sources)
|
||||
source.update(timer);
|
||||
synchronized (sources) {
|
||||
for (ParticleSource source : sources)
|
||||
source.update(timer);
|
||||
}
|
||||
}
|
||||
|
||||
public ParticleData createParticleData() {
|
||||
@ -195,7 +198,7 @@ public class ParticleEffect {
|
||||
return yOffset;
|
||||
}
|
||||
|
||||
public List<ParticleSource> getSources() {
|
||||
public synchronized List<ParticleSource> getSources() {
|
||||
return sources;
|
||||
}
|
||||
|
||||
@ -212,9 +215,11 @@ public class ParticleEffect {
|
||||
}
|
||||
|
||||
public void deleteSources() {
|
||||
for(ParticleSource source : sources)
|
||||
source.kill();
|
||||
sources.clear();
|
||||
synchronized (sources) {
|
||||
for (ParticleSource source : sources)
|
||||
source.kill();
|
||||
sources.clear();
|
||||
}
|
||||
}
|
||||
|
||||
public TimelineRange getSpawnWidth() {
|
||||
|
@ -29,22 +29,28 @@ public class ParticleSystem {
|
||||
}
|
||||
|
||||
public void update(Timer timer) {
|
||||
for (ParticleEffect effect : effects)
|
||||
effect.update(timer);
|
||||
}
|
||||
|
||||
public void loadTextures() throws Exception {
|
||||
for (ParticleEffect effect : effects)
|
||||
effect.setTexture(textureLoader.loadTexture("particleEffects/"+effect.getTextureName()));
|
||||
}
|
||||
|
||||
public void deleteAllSources(){
|
||||
for(ParticleEffect effect : effects){
|
||||
effect.deleteSources();
|
||||
synchronized (effects) {
|
||||
for (ParticleEffect effect : effects)
|
||||
effect.update(timer);
|
||||
}
|
||||
}
|
||||
|
||||
public ParticleEffect[] getEffects() {
|
||||
public void loadTextures() throws Exception {
|
||||
synchronized (effects) {
|
||||
for (ParticleEffect effect : effects)
|
||||
effect.setTexture(textureLoader.loadTexture("particleEffects/" + effect.getTextureName()));
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteAllSources() {
|
||||
synchronized (effects) {
|
||||
for (ParticleEffect effect : effects) {
|
||||
effect.deleteSources();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized ParticleEffect[] getEffects() {
|
||||
return effects;
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,6 @@ public class TintTimeline extends ParticleAttributeValue {
|
||||
}
|
||||
|
||||
public void setValueOfPoint(int index, int colorIndex, float value) {
|
||||
GameLog.i("Set value: index="+index+"; colorIndex="+colorIndex+"; value="+value);
|
||||
if (points.size() <= index) {
|
||||
points.add(new TintTimelinePoint());
|
||||
}
|
||||
@ -26,7 +25,6 @@ public class TintTimeline extends ParticleAttributeValue {
|
||||
}
|
||||
|
||||
public void setTimeOfPoint(int index, float time) {
|
||||
GameLog.i("Set time: index="+index+"; time="+time);
|
||||
if (points.size() <= index) {
|
||||
points.add(new TintTimelinePoint());
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.example.julian.endlessroll.entities.tileLists;
|
||||
|
||||
import com.example.julian.endlessroll.data.SynchronizedArrayList;
|
||||
import com.example.julian.endlessroll.entities.Entity;
|
||||
import com.example.julian.endlessroll.entities.textures.Texture;
|
||||
import com.example.julian.endlessroll.levels.TileData;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
@ -38,7 +37,7 @@ public class TileList extends SynchronizedArrayList<Tile> {
|
||||
}
|
||||
|
||||
public void loadData(World world, float edge, List<TileData> tileData) {
|
||||
this.texture = world.getTerrain();
|
||||
this.texture = world.getTerrainTexture();
|
||||
this.endless = false;
|
||||
super.clear();
|
||||
for (TileData data : tileData)
|
||||
|
@ -0,0 +1,47 @@
|
||||
package com.example.julian.endlessroll.levels;
|
||||
|
||||
import com.example.julian.endlessroll.data.Vector;
|
||||
import com.example.julian.endlessroll.entities.Vertex;
|
||||
|
||||
import org.simpleframework.xml.Attribute;
|
||||
|
||||
public class MoveComponent {
|
||||
|
||||
@Attribute
|
||||
private float width;
|
||||
@Attribute
|
||||
private float height;
|
||||
@Attribute
|
||||
private float x;
|
||||
@Attribute
|
||||
private float y;
|
||||
@Attribute
|
||||
private float speed;
|
||||
|
||||
public float getWidth() {
|
||||
return width;
|
||||
}
|
||||
|
||||
public float getHeight() {
|
||||
return height;
|
||||
}
|
||||
|
||||
public float getX() {
|
||||
return x;
|
||||
}
|
||||
|
||||
public float getY() {
|
||||
return y;
|
||||
}
|
||||
|
||||
public float getSpeed() {
|
||||
return speed;
|
||||
}
|
||||
|
||||
public Vector getPositionOfVertex(Vertex vertex) {
|
||||
float x = this.x + (width / 2f) * vertex.getX();
|
||||
float y = this.y + (height / 2f) * vertex.getY();
|
||||
return new Vector(x, y);
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package com.example.julian.endlessroll.levels;
|
||||
|
||||
import org.simpleframework.xml.Attribute;
|
||||
import org.simpleframework.xml.Element;
|
||||
|
||||
/**
|
||||
* Created by Julian on 07.12.2015.
|
||||
@ -8,7 +9,11 @@ import org.simpleframework.xml.Attribute;
|
||||
public class ObstacleData {
|
||||
|
||||
@Attribute
|
||||
private String type;
|
||||
private boolean floating;
|
||||
@Attribute
|
||||
private boolean moving;
|
||||
@Attribute
|
||||
private boolean deadly;
|
||||
@Attribute
|
||||
private float leftEdge;
|
||||
@Attribute
|
||||
@ -17,11 +22,19 @@ public class ObstacleData {
|
||||
private float height;
|
||||
@Attribute
|
||||
private float y;
|
||||
@Attribute
|
||||
public boolean attachedToGround;
|
||||
@Element(required = false)
|
||||
private MoveComponent moveComponent;
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
public boolean isFloating() {
|
||||
return floating;
|
||||
}
|
||||
|
||||
public boolean isMoving() {
|
||||
return moving;
|
||||
}
|
||||
|
||||
public boolean isDeadly() {
|
||||
return deadly;
|
||||
}
|
||||
|
||||
public float getX() {
|
||||
@ -40,7 +53,7 @@ public class ObstacleData {
|
||||
return y;
|
||||
}
|
||||
|
||||
public boolean isAttachedToGround() {
|
||||
return attachedToGround;
|
||||
public MoveComponent getMoveComponent() {
|
||||
return moveComponent;
|
||||
}
|
||||
}
|
||||
|
@ -13,8 +13,8 @@ import com.example.julian.endlessroll.entities.textures.TexturePack;
|
||||
public enum World {
|
||||
|
||||
GRASSLANDS(0, "Grasslands", R.drawable.grasslands_preview, R.drawable.background, R.drawable.terrain, R.drawable.obstacle),
|
||||
TESTCAVE(1, "Testcave", R.drawable.grasslands_preview, R.drawable.background, R.drawable.terrain, R.drawable.obstacle),
|
||||
ICY_MOUNTAINS(2, "Icy Mountains", R.drawable.grasslands_preview, R.drawable.background, R.drawable.terrain, R.drawable.obstacle);
|
||||
TESTCAVE(1, "Testcave", R.drawable.grasslands_preview, R.drawable.background_cave, R.drawable.terrain, R.drawable.obstacle),
|
||||
ICY_MOUNTAINS(2, "Icy Mountains", R.drawable.grasslands_preview, R.drawable.background_icymountains, R.drawable.terrain, R.drawable.obstacle);
|
||||
|
||||
private int index;
|
||||
private String name;
|
||||
@ -48,7 +48,7 @@ public enum World {
|
||||
private void loadSpecificTextures(TexturePack texturePack) {
|
||||
background = texturePack.loadTexture(backgroundId);
|
||||
terrain = texturePack.loadTexture(terrainId);
|
||||
obstacle = texturePack.loadTexture(obstacleId);
|
||||
obstacle = texturePack.loadAtlas(obstacleId, 2, 2);
|
||||
}
|
||||
|
||||
public int getIndex() {
|
||||
@ -63,15 +63,15 @@ public enum World {
|
||||
return previewId;
|
||||
}
|
||||
|
||||
public Texture getBackground() {
|
||||
public Texture getBackgroundTexture() {
|
||||
return background;
|
||||
}
|
||||
|
||||
public Texture getTerrain() {
|
||||
public Texture getTerrainTexture() {
|
||||
return terrain;
|
||||
}
|
||||
|
||||
public Texture getObstacle() {
|
||||
public Texture getObstacleTexture() {
|
||||
return obstacle;
|
||||
}
|
||||
}
|
||||
|
@ -33,9 +33,9 @@ public class GameScene extends Scene {
|
||||
private Goal goal;
|
||||
|
||||
private float goalX;
|
||||
private List<Obstacle> obstacles = new ArrayList<>();
|
||||
private List<Star> stars = new ArrayList<>();
|
||||
private List<Tool> tools = new ArrayList<>();
|
||||
private List<Obstacle> obstacles = Collections.synchronizedList(new ArrayList<Obstacle>());
|
||||
private List<Star> stars = Collections.synchronizedList(new ArrayList<Star>());
|
||||
private List<Tool> tools = Collections.synchronizedList(new ArrayList<Tool>());
|
||||
|
||||
public GameScene(TexturePack texturePack, ParticleSystem particleSystem) throws Exception {
|
||||
super(texturePack, particleSystem);
|
||||
@ -47,7 +47,7 @@ public class GameScene extends Scene {
|
||||
public void loadLevel(Level level, World world) throws Exception {
|
||||
this.currentWorld = world;
|
||||
reset();
|
||||
background.changeTexture(world.getBackground());
|
||||
background.changeTexture(world.getBackgroundTexture());
|
||||
terrain.loadData(world, level.getTerrainEdge(), level.getTerrainTiles());
|
||||
ceiling.loadData(world, level.getCeilingEdge(), level.getCeilingTiles());
|
||||
super.add(goal);
|
||||
@ -78,12 +78,14 @@ public class GameScene extends Scene {
|
||||
}
|
||||
|
||||
public void onStarCollision(Star collisionStar) {
|
||||
Iterator<Star> iter = stars.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Star star = iter.next();
|
||||
if (star.equals(collisionStar)) {
|
||||
star.destroy(DestroyEffect.STAR_EXPLOSION);
|
||||
iter.remove();
|
||||
synchronized (stars) {
|
||||
Iterator<Star> iter = stars.iterator();
|
||||
while (iter.hasNext()) {
|
||||
Star star = iter.next();
|
||||
if (star.equals(collisionStar)) {
|
||||
star.destroy(DestroyEffect.STAR_EXPLOSION);
|
||||
iter.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -114,14 +116,17 @@ public class GameScene extends Scene {
|
||||
public void update(Timer timer) {
|
||||
super.update(timer);
|
||||
player.setSpeedByProgress(player.getProgress() / goalX);
|
||||
for (Tool tool : tools) {
|
||||
tool.update(timer);
|
||||
if (tool instanceof Bomb) {
|
||||
Bomb bomb = (Bomb) tool;
|
||||
if (bomb.isExploding())
|
||||
bomb.explode(obstacles, collisionDetector);
|
||||
synchronized (tools) {
|
||||
for (Tool tool : tools) {
|
||||
tool.update(timer);
|
||||
if (tool instanceof Bomb) {
|
||||
Bomb bomb = (Bomb) tool;
|
||||
if (bomb.isExploding())
|
||||
bomb.explode(obstacles, collisionDetector);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -135,15 +140,15 @@ public class GameScene extends Scene {
|
||||
obstacles.remove(entity);
|
||||
}
|
||||
|
||||
public List<Tool> getTools() {
|
||||
public synchronized List<Tool> getTools() {
|
||||
return tools;
|
||||
}
|
||||
|
||||
public List<Obstacle> getObstacles() {
|
||||
public synchronized List<Obstacle> getObstacles() {
|
||||
return obstacles;
|
||||
}
|
||||
|
||||
public List<Star> getStars() {
|
||||
public synchronized List<Star> getStars() {
|
||||
return stars;
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@ import android.support.annotation.Nullable;
|
||||
import com.example.julian.endlessroll.entities.Entity;
|
||||
import com.example.julian.endlessroll.entities.Obstacle;
|
||||
import com.example.julian.endlessroll.entities.Star;
|
||||
import com.example.julian.endlessroll.entities.tileLists.Ceiling;
|
||||
import com.example.julian.endlessroll.entities.tileLists.Terrain;
|
||||
import com.example.julian.endlessroll.entities.tileLists.Tile;
|
||||
import com.example.julian.endlessroll.entities.collision.CollisionDetector;
|
||||
@ -36,6 +37,7 @@ public class Physics {
|
||||
|
||||
public void applyGravity(GameScene scene) {
|
||||
scene.getPlayer().getMovement().y -= GRAVITY_FORCE;
|
||||
synchronized (scene.getTools()){
|
||||
for (Tool tool : scene.getTools()) {
|
||||
if (tool.isFloating())
|
||||
continue;
|
||||
@ -70,15 +72,18 @@ public class Physics {
|
||||
tool.setToTerrain(orientingHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
}}
|
||||
|
||||
@Nullable
|
||||
private Obstacle getObstacleToolIsOver(Entity tool, List<Obstacle> obstacles) {
|
||||
Map<Float, Obstacle> isOver = new HashMap<>();
|
||||
synchronized (obstacles){
|
||||
for (Obstacle obstacle : obstacles) {
|
||||
if ((tool.getLeftEdge() >= obstacle.getLeftEdge() && tool.getLeftEdge() <= obstacle.getRightEdge()) || (tool.getRightEdge() <= obstacle.getRightEdge() && tool.getRightEdge() >= obstacle.getLeftEdge()))
|
||||
boolean toolVertexInObstacleEdge = (tool.getLeftEdge() >= obstacle.getLeftEdge() && tool.getLeftEdge() <= obstacle.getRightEdge()) || (tool.getRightEdge() <= obstacle.getRightEdge() && tool.getRightEdge() >= obstacle.getLeftEdge());
|
||||
boolean obstacleVertexInToolEdge = (obstacle.getLeftEdge() >= tool.getLeftEdge() && obstacle.getLeftEdge() <= tool.getRightEdge()) || (obstacle.getRightEdge() <= tool.getRightEdge() && obstacle.getRightEdge() >= tool.getLeftEdge());
|
||||
if (toolVertexInObstacleEdge || obstacleVertexInToolEdge)
|
||||
isOver.put(obstacle.getTopEdge(), obstacle);
|
||||
}
|
||||
}}
|
||||
float max = -100;
|
||||
for (float height : isOver.keySet()) {
|
||||
if(isOver.get(height).getBottomEdge() < tool.getTopEdge()) {
|
||||
@ -103,10 +108,11 @@ public class Physics {
|
||||
|
||||
public PlayerCollisionData getPlayerCollisionData(GameScene scene) {
|
||||
EntityCollisionData terrainData = playerCollidesWithTerrain(scene);
|
||||
EntityCollisionData ceilingData = playerCollidesWithCeiling(scene);
|
||||
ObstacleCollisionData obstacleData = playerCollidesWithObstacle(scene);
|
||||
ToolCollisionData toolData = playerCollidesWithTool(scene);
|
||||
EntityCollisionData starData = playerCollidesWithStar(scene);
|
||||
return new PlayerCollisionData(terrainData, obstacleData, toolData, starData);
|
||||
return new PlayerCollisionData(terrainData, ceilingData, obstacleData, toolData, starData);
|
||||
}
|
||||
|
||||
private EntityCollisionData playerCollidesWithTerrain(GameScene scene) {
|
||||
@ -119,32 +125,45 @@ public class Physics {
|
||||
return new EntityCollisionData(null, null);
|
||||
}
|
||||
|
||||
private EntityCollisionData playerCollidesWithCeiling(GameScene scene) {
|
||||
Ceiling ceiling = scene.getCeiling();
|
||||
for (Tile ceilingTile : ceiling) {
|
||||
EntityCollisionData data = detector.playerEntityCollision(scene.getPlayer(), ceilingTile);
|
||||
if (data.isCollision())
|
||||
return data;
|
||||
}
|
||||
return new EntityCollisionData(null, null);
|
||||
}
|
||||
|
||||
private ObstacleCollisionData playerCollidesWithObstacle(GameScene scene) {
|
||||
List<EntityCollisionData> collisions = new ArrayList<>();
|
||||
synchronized (scene.getObstacles()){
|
||||
for (Obstacle obstacle : scene.getObstacles()) {
|
||||
EntityCollisionData data = detector.playerEntityCollision(scene.getPlayer(), obstacle);
|
||||
if (data.isCollision())
|
||||
collisions.add(data);
|
||||
}
|
||||
}}
|
||||
return new ObstacleCollisionData(collisions);
|
||||
}
|
||||
|
||||
private ToolCollisionData playerCollidesWithTool(GameScene scene) {
|
||||
List<Tool> tools = new ArrayList<>();
|
||||
Circle circle = new Circle(scene.getPlayer());
|
||||
synchronized (scene.getTools()){
|
||||
for (Tool tool : scene.getTools()) {
|
||||
if (detector.circleToolCollision(circle, tool.getCollisionBounds()))
|
||||
tools.add(tool);
|
||||
}
|
||||
}}
|
||||
return new ToolCollisionData(tools);
|
||||
}
|
||||
|
||||
private EntityCollisionData playerCollidesWithStar(GameScene scene) {
|
||||
synchronized (scene.getStars()){
|
||||
for (Star star : scene.getStars()) {
|
||||
EntityCollisionData data = detector.playerEntityCollision(scene.getPlayer(), star);
|
||||
if (data.isCollision())
|
||||
return data;
|
||||
}
|
||||
}}
|
||||
return new EntityCollisionData(null, null);
|
||||
}
|
||||
}
|
||||
|
@ -4,13 +4,13 @@ import com.example.julian.endlessroll.data.SynchronizedArrayList;
|
||||
import com.example.julian.endlessroll.data.Vector;
|
||||
import com.example.julian.endlessroll.entities.Background;
|
||||
import com.example.julian.endlessroll.entities.Entity;
|
||||
import com.example.julian.endlessroll.entities.Obstacle;
|
||||
import com.example.julian.endlessroll.entities.Player;
|
||||
import com.example.julian.endlessroll.entities.particles.ParticleSystem;
|
||||
import com.example.julian.endlessroll.entities.textures.TexturePack;
|
||||
import com.example.julian.endlessroll.entities.tileLists.Ceiling;
|
||||
import com.example.julian.endlessroll.entities.tileLists.Terrain;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
import com.example.julian.endlessroll.rendering.Lock;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
@ -35,9 +35,9 @@ public abstract class Scene extends SynchronizedArrayList<Entity> {
|
||||
this.particleSystem = particleSystem;
|
||||
setTexturePack(texturePack);
|
||||
playerArrow = new Entity(textures.playerArrow, new Vector(0, 0.9f), .2f, .2f);
|
||||
background = new Background(World.GRASSLANDS.getBackground());
|
||||
terrain = new Terrain(World.GRASSLANDS.getTerrain());
|
||||
ceiling = new Ceiling(World.GRASSLANDS.getTerrain());
|
||||
background = new Background(World.GRASSLANDS.getBackgroundTexture());
|
||||
terrain = new Terrain(World.GRASSLANDS.getTerrainTexture());
|
||||
ceiling = new Ceiling(World.GRASSLANDS.getTerrainTexture());
|
||||
player = new Player(textures.player);
|
||||
}
|
||||
|
||||
@ -53,6 +53,11 @@ public abstract class Scene extends SynchronizedArrayList<Entity> {
|
||||
Vector movement = entity.getMovement();
|
||||
Vector finalMovement = new Vector(movement).mul(timer.getFrameTime());
|
||||
entity.move(finalMovement);
|
||||
if(entity instanceof Obstacle){
|
||||
Obstacle obstacle = (Obstacle) entity;
|
||||
if(obstacle.isMoving())
|
||||
obstacle.moveWithMoveComponent(timer.getFrameTime());
|
||||
}
|
||||
if (entity.isDestroyed() && entity.getDestroyEffect() != null)
|
||||
entity.getDestroyEffect().createEffect(particleSystem, new Vector(entity.getPosition()), new Vector(entity.getWidth(), entity.getHeight())).start();
|
||||
if (entity.equals(player))
|
||||
|
@ -48,16 +48,19 @@ public class ParticleRenderer {
|
||||
|
||||
particleShader.start();
|
||||
particleShader.loadMVPMatrix(matrixCreator, scene.cameraX);
|
||||
for (ParticleEffect effect : scene.getParticleSystem().getEffects()) {
|
||||
gl.glActiveTexture(GL10.GL_TEXTURE0);
|
||||
gl.glBindTexture(GL10.GL_TEXTURE_2D, effect.getTexture().getId());
|
||||
synchronized (scene.getParticleSystem().getEffects()) {
|
||||
for (ParticleEffect effect : scene.getParticleSystem().getEffects()) {
|
||||
gl.glActiveTexture(GL10.GL_TEXTURE0);
|
||||
gl.glBindTexture(GL10.GL_TEXTURE_2D, effect.getTexture().getId());
|
||||
|
||||
switchAdditiveBlending(gl, effect.getOptions().isAdditive());
|
||||
for (ParticleSource source : effect.getSources()) {
|
||||
source.getActiveParticleLock().lock();
|
||||
for (Particle particle : source.getActiveParticles())
|
||||
renderParticle(particle);
|
||||
source.getActiveParticleLock().unlock();
|
||||
switchAdditiveBlending(gl, effect.getOptions().isAdditive());
|
||||
synchronized (effect.getSources()){
|
||||
for (ParticleSource source : effect.getSources()) {
|
||||
source.getActiveParticleLock().lock();
|
||||
for (Particle particle : source.getActiveParticles())
|
||||
renderParticle(particle);
|
||||
source.getActiveParticleLock().unlock();
|
||||
}}
|
||||
}
|
||||
}
|
||||
disableAdditiveBlending(gl);
|
||||
|
@ -66,14 +66,6 @@
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
|
||||
@ -82,6 +74,14 @@
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
|
||||
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
|
||||
|
Loading…
x
Reference in New Issue
Block a user