When player is to high, camera follows
Textures can be repeated over entity
This commit is contained in:
parent
66e381ad01
commit
bf848cd46c
@ -90,7 +90,6 @@
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/reports" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
|
||||
|
@ -1,44 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<levelPack name="Levelpack 1">
|
||||
<levels>
|
||||
<level goalX="24" number="1">
|
||||
<terrain endX="27" height="-0.6">
|
||||
<gaps>
|
||||
<gap leftEdge="4" rightEdge="5"/>
|
||||
<gap leftEdge="12" rightEdge="13"/>
|
||||
<gap leftEdge="16" rightEdge="16.5"/>
|
||||
<gap leftEdge="16.8" rightEdge="17.3"/>
|
||||
</gaps>
|
||||
</terrain>
|
||||
<obstacles>
|
||||
<obstacle height="0.3" leftEdge="9" rightEdge="10" type="default"/>
|
||||
<obstacle height="0.2" leftEdge="13" rightEdge="14" type="default"/>
|
||||
<obstacle height="0.3" leftEdge="18" rightEdge="20" type="default"/>
|
||||
<obstacle height="0.5" leftEdge="20" rightEdge="21" type="default"/>
|
||||
<obstacle height="0.1" leftEdge="21" rightEdge="22" type="default"/>
|
||||
</obstacles>
|
||||
</level>
|
||||
<level goalX="21.25" number="2">
|
||||
<terrain endX="21" height="-0.6">
|
||||
<gaps>
|
||||
<gap leftEdge="1" rightEdge="1.7" />
|
||||
<gap leftEdge="8.9" rightEdge="9.6" />
|
||||
<gap leftEdge="9.7" rightEdge="10.4" />
|
||||
<gap leftEdge="15" rightEdge="16.1" />
|
||||
</gaps>
|
||||
</terrain>
|
||||
<obstacles>
|
||||
<obstacle height="0.3" leftEdge="1.73" rightEdge="2.3" type="default" />
|
||||
<obstacle height="0.5" leftEdge="2.9" rightEdge="3.6" type="default" />
|
||||
<obstacle height="0.3" leftEdge="5" rightEdge="7" type="default" />
|
||||
<obstacle height="0.52" leftEdge="7.1" rightEdge="8.5" type="default" />
|
||||
<obstacle height="0.5" leftEdge="11.4" rightEdge="12.8" type="default" />
|
||||
<obstacle height="0.5" leftEdge="13.9" rightEdge="14.2" type="default" />
|
||||
<obstacle height="0.24" leftEdge="16.8" rightEdge="18.3" type="default" />
|
||||
<obstacle height="0.35" leftEdge="18.30001" rightEdge="18.8" type="default" />
|
||||
<obstacle height="0.54" leftEdge="18.80001" rightEdge="19.4" type="default" />
|
||||
<obstacle height="0.41" leftEdge="19.40001" rightEdge="20.5" type="default" />
|
||||
</obstacles>
|
||||
</level>
|
||||
</levels>
|
||||
</levelPack>
|
@ -1,284 +1,272 @@
|
||||
<levelPack id="2">
|
||||
<theme>GRASSLANDS</theme>
|
||||
<levelPack id="1">
|
||||
<world>GRASSLANDS</world>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level packId="2" id="1" goalX="22.606565" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level packId="1" id="1" goalX="16.896702" 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"/>
|
||||
<tileData x="21.640932" width="11.797886"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="11.159975" y="-0.15999995"/>
|
||||
<positionData x="15.106676" y="-0.14000002"/>
|
||||
<positionData x="22.043303" y="-0.20666662"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="15.41926" width="8.228134"/>
|
||||
<tileData x="20.374657" width="0.4826603"/>
|
||||
<tileData x="24.32193" width="6.43589"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="10.94335" y="-0.61999965"/>
|
||||
<positionData x="15.7367" y="0.3199999"/>
|
||||
<positionData x="18.893328" y="-0.12666662"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="15.293072" width="7.220421"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="2.6399994" y="0.10666669"/>
|
||||
<positionData x="8.793346" y="-0.4733331"/>
|
||||
<positionData x="12.253348" y="-0.13333318"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="25.439342" width="4.201065"/>
|
||||
<tileData x="1.0092487" width="8.018497"/>
|
||||
<tileData x="13.61743" width="15.911868"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="23.786556" width="0.29333496"/>
|
||||
<tileData x="6.948351" width="19.896702"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="12.00004" rightEdge="12.50004" height="0.382" y="-0.40900004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="11.560022" y="-0.26000002"/>
|
||||
<positionData x="16.310017" y="0.80666655"/>
|
||||
<positionData x="21.9833" y="-0.099999994"/>
|
||||
<positionData x="5.3666835" y="0.7866664"/>
|
||||
<positionData x="12.263359" y="-0.0266667"/>
|
||||
<positionData x="16.58005" y="0.77999955"/>
|
||||
</stars>
|
||||
<energy x="12.243361" y="-0.40666705"/>
|
||||
</level>
|
||||
<level packId="2" id="5" goalX="16.249996" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level packId="1" id="2" goalX="23.896725" 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 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">
|
||||
<positionData x="2.5799987" y="0.62"/>
|
||||
<positionData x="7.5566673" y="0.26000008"/>
|
||||
<positionData x="11.85002" y="-0.4533334"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="13.799343" width="5.285305"/>
|
||||
<tileData x="21.770779" width="9.7455635"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="4.586666" y="-0.5866665"/>
|
||||
<positionData x="10.696706" y="-0.46666694"/>
|
||||
<positionData x="20.64665" y="0.39999995"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="17.96075" width="3.4850826"/>
|
||||
<tileData x="22.583197" width="4.5598145"/>
|
||||
<tileData x="1.6106672" width="9.221334"/>
|
||||
<tileData x="12.331865" width="10.333063"/>
|
||||
<tileData x="20.876247" width="4.5356846"/>
|
||||
<tileData x="25.874727" width="4.7972755"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="25.669922" width="0.39332962"/>
|
||||
<tileData x="10.448362" width="26.896725"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.2166634" rightEdge="6.2166634" height="0.293" y="-0.45350003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="14.9867525" rightEdge="15.406753" height="0.586" y="-0.307">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.434769" rightEdge="17.498768" 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="false" moving="false" deadly="false" leftEdge="23.488386" rightEdge="24.138388" height="0.331" y="-0.43450004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="11.798721" rightEdge="14.454721" height="0.204" y="-0.49800003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="6.6800065" y="-0.38666666"/>
|
||||
<positionData x="13.066695" y="0.48666692"/>
|
||||
<positionData x="20.679989" y="0.85333335"/>
|
||||
<positionData x="6.6933284" y="-0.57999974"/>
|
||||
<positionData x="14.833428" y="-0.4399998"/>
|
||||
<positionData x="18.076752" y="-0.50000006"/>
|
||||
</stars>
|
||||
<energy x="16.436743" y="-0.37333328"/>
|
||||
</level>
|
||||
<level packId="2" id="8" goalX="17.896662" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level packId="1" id="3" goalX="25.803282" 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"/>
|
||||
<tileData x="9.478603" width="3.1838756"/>
|
||||
<tileData x="16.133102" width="3.5271206"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="2.543333" y="0.3933335"/>
|
||||
<positionData x="14.12338" y="-0.79999965"/>
|
||||
<positionData x="17.523336" y="0.4799996"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="9" 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"/>
|
||||
<tileData x="2.928771" width="11.857542"/>
|
||||
<tileData x="14.645462" width="3.5258408"/>
|
||||
<tileData x="20.861193" width="7.2456512"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="0.0" width="6.0"/>
|
||||
<tileData x="6.5533686" width="19.106737"/>
|
||||
<tileData x="20.95501" width="9.696545"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="0.45000017" rightEdge="0.95000017" height="0.5" y="-0.35000002">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.3533306" rightEdge="5.3533306" height="0.357" y="-0.42150003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="-0.103333026" rightEdge="0.39666697" height="0.5" y="0.22666666">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="5.385499" rightEdge="7.3344994" height="0.688" y="-0.256">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="true" leftEdge="-1.7966661" rightEdge="-1.2966661" height="0.5" y="-0.35000002">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.4723425" rightEdge="8.834342" height="1.032" y="-0.08400005">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="true" leftEdge="-0.7099999" rightEdge="-0.20999992" height="0.5" y="0.21999998">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="7.432005" rightEdge="8.368005" height="0.637" y="-0.2815">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="9.223393" rightEdge="12.223393" height="0.127" y="-0.93333316">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="21.176678" rightEdge="21.676678" height="0.408" y="-0.39600003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="21.729795" rightEdge="22.436796" height="0.318" y="-0.44100004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="22.456125" rightEdge="23.297125" height="0.242" y="-0.47900003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="23.333607" rightEdge="24.479607" height="0.178" y="-0.51100004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.6883316" rightEdge="2.3383317" height="0.382" y="-0.40900004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="5.236675" y="-0.10000009"/>
|
||||
<positionData x="12.743379" y="-0.87999964"/>
|
||||
<positionData x="25.046606" y="0.44000027"/>
|
||||
</stars>
|
||||
<energy x="9.043368" y="-0.8999996"/>
|
||||
</level>
|
||||
<level packId="1" id="4" goalX="23.266603" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.27333355" width="5.453333"/>
|
||||
<tileData x="10.069099" width="5.231532"/>
|
||||
<tileData x="17.179937" width="0.2761612"/>
|
||||
<tileData x="24.247623" width="8.61121"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="10.133302" width="26.266603"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.5106652" rightEdge="3.5426652" height="0.5" y="-0.9066665">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.6169972" rightEdge="4.7829976" height="0.5" y="-0.9799999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.875505" rightEdge="5.9645047" height="0.5" y="-1.0799999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="6.0315022" rightEdge="7.3885026" height="0.5" y="-0.76666665">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="9.111034" rightEdge="11.289034" height="0.382" y="-0.40900004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="11.36054" rightEdge="12.65954" height="0.306" y="-0.44700003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="12.702217" rightEdge="15.511217" height="0.166" y="-0.026666649">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="15.972044" rightEdge="18.208044" height="0.255" y="0.29333323">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="18.377197" rightEdge="18.836197" height="0.229" y="0.1666667">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="19.030016" rightEdge="19.530016" height="0.242" y="0.0066666286">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="20.63783" rightEdge="20.828833" height="1.108" y="0.35999984">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="22.10714" rightEdge="22.56614" height="0.331" y="-0.3933331">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="4.8966684" y="-0.0933331"/>
|
||||
<positionData x="12.523364" y="-0.09333331"/>
|
||||
<positionData x="21.769947" y="0.3733334"/>
|
||||
</stars>
|
||||
<energy x="17.186693" y="-0.41333315"/>
|
||||
</level>
|
||||
<level packId="1" id="5" goalX="25.756561" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.3149171" width="5.370166"/>
|
||||
<tileData x="5.247172" width="3.9280117"/>
|
||||
<tileData x="8.653435" width="0.0625"/>
|
||||
<tileData x="9.939764" width="0.062160492"/>
|
||||
<tileData x="12.285448" width="3.8192024"/>
|
||||
<tileData x="16.539871" width="3.5896454"/>
|
||||
<tileData x="21.039742" width="2.40209"/>
|
||||
<tileData x="26.437824" width="7.5440884"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="11.378281" width="28.756561"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="6.166328" rightEdge="7.1603284" height="0.293" y="-0.45350003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="16.936665" rightEdge="19.076664" height="0.217" y="0.30666652">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="7.203003" rightEdge="8.6170025" height="0.127" y="-0.41333312">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="8.687184" rightEdge="9.986184" height="0.153" y="-0.47333324">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="10.379863" rightEdge="11.0868635" 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="false" deadly="false" leftEdge="14.776228" rightEdge="15.617228" height="0.344" y="-0.0066666957">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="15.643713" rightEdge="16.809713" height="0.293" y="-0.050000057">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="17.627857" rightEdge="18.258858" height="0.318" y="-0.44100004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="18.325031" rightEdge="19.83503" height="0.166" y="-0.41999984">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="2.8000035" y="-0.77999914"/>
|
||||
<positionData x="11.243364" y="-0.43999982"/>
|
||||
<positionData x="16.21668" y="0.34666675"/>
|
||||
</stars>
|
||||
<energy x="19.086668" y="-0.81333315"/>
|
||||
</level>
|
||||
<level packId="1" id="6" goalX="16.046711" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="2.3134198" width="10.62684"/>
|
||||
<tileData x="11.750938" width="5.8622084"/>
|
||||
<tileData x="17.74903" width="5.2619705"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="6.5233555" width="19.046711"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.5633323" rightEdge="2.9833324" height="0.866" y="-0.16700003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="12.6995325" rightEdge="13.100532" height="0.42" y="-0.39000005">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="13.132866" rightEdge="13.533865" height="0.611" y="-0.29450002">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="13.566537" rightEdge="14.693538" height="0.344" y="-0.42800003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="2.7666643" y="0.8799996"/>
|
||||
<positionData x="8.200006" y="0.8999994"/>
|
||||
<positionData x="12.566701" y="-0.4666665"/>
|
||||
</stars>
|
||||
<energy x="13.326665" y="-0.40666687"/>
|
||||
</level>
|
||||
<level packId="1" id="7" goalX="10.643346" startSpeed="0.2" endSpeed="0.2" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="3.821673" width="13.643346"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="3.821673" width="13.643346"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="0.5466671" rightEdge="3.546667" height="0.917" y="-0.14150003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.6133304" rightEdge="6.6133304" height="1.414" y="0.10699999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="6.633338" rightEdge="9.633338" height="1.057" y="-0.0715">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level packId="2" id="10" goalX="3.0" startSpeed="0.0" endSpeed="0.0" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level packId="1" id="8" goalX="3.0" startSpeed="0.5" endSpeed="0.5" 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">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="-0.68833333" rightEdge="0.82166666" height="1.541" y="0.17049998">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level packId="2" id="11" goalX="22.569973" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.23241591" width="6.464832"/>
|
||||
<tileData x="8.307598" width="7.651533"/>
|
||||
<tileData x="18.551668" width="8.036609"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="9.7849865" width="25.569973"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.3666725" rightEdge="8.8666725" height="0.344" y="-0.42800003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.186697" rightEdge="19.606695" height="0.4" y="-0.40000004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.026669" rightEdge="6.026669" height="0.229" y="0.7399997">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level packId="2" id="12" goalX="28.746628" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.34033322" width="5.3193336"/>
|
||||
<tileData x="9.0306835" width="10.206701"/>
|
||||
<tileData x="22.446331" width="12.600594"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="12.873314" width="31.746628"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.236673" rightEdge="8.736673" height="0.8" y="-0.20000002">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="21.91664" rightEdge="22.41664" height="0.968" y="-0.11600003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="1.5333319" rightEdge="4.533332" height="0.344" y="0.5999999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.538332" rightEdge="5.6083317" height="0.306" y="0.59999996">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
</levels>
|
||||
|
@ -1,115 +0,0 @@
|
||||
<levelPack id="5">
|
||||
<theme>TESTCAVE</theme>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level packId="5" id="1" goalX="4.3969" startSpeed="0.6" endSpeed="0.6" terrainEdge="-0.176" ceilingEdge="0.747">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.4650004" width="1.0699992"/>
|
||||
<tileData x="1.3783364" width="5.4166737"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.6666667" width="0.6666665"/>
|
||||
<tileData x="0.59333193" width="4.6533327"/>
|
||||
<tileData x="3.9584491" width="0.8769021"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.6066647" rightEdge="4.1066647" height="0.5" y="0.074">
|
||||
<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="1.6499996" rightEdge="2.1499996" height="0.5" y="0.074">
|
||||
<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.7566657" rightEdge="-2.2566657" height="0.5" y="0.074">
|
||||
<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="2.429999" rightEdge="2.929999" height="0.5" y="0.26666665">
|
||||
<moveComponent width="2.841" height="1.212" x="2.679999" y="0.26666665" speed="0.136"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
<energy x="0.013333277" y="0.32666668"/>
|
||||
</level>
|
||||
<level packId="5" id="2" goalX="13.38005" startSpeed="0.5" endSpeed="0.6" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<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="5.1900253" width="16.38005"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="3.0633316" y="-0.43333337"/>
|
||||
<positionData x="9.686677" y="-0.76000005"/>
|
||||
<positionData x="13.110031" y="0.8466663"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="5" id="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.664"/>
|
||||
</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 packId="5" id="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">
|
||||
<obstacleData floating="false" moving="true" deadly="false" leftEdge="-0.55199987" rightEdge="-0.20799984" height="0.357" y="-0.42150003">
|
||||
<moveComponent width="0.0" height="1.086" x="-0.37999985" y="-0.42150003" speed="0.5"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="true" deadly="false" leftEdge="-1.6233331" rightEdge="-1.1233331" height="0.5" y="-0.35000002">
|
||||
<moveComponent width="0.0" height="1.275" x="-1.3733331" y="-0.35000002" speed="0.508"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level packId="5" id="9" goalX="3.0" startSpeed="0.5" endSpeed="0.5" 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>
|
||||
</levels>
|
||||
</levelPack>
|
@ -1,5 +1,6 @@
|
||||
uniform mat4 mvpMatrix;
|
||||
uniform mat4 transformationMatrix;
|
||||
uniform vec2 texCoordScaling;
|
||||
|
||||
attribute vec4 position;
|
||||
attribute vec2 texCoords;
|
||||
@ -11,5 +12,9 @@ void main() {
|
||||
vec4 transformatedPosition = transformationMatrix * position;
|
||||
gl_Position = mvpMatrix * transformatedPosition;
|
||||
pass_TexCoords = texCoords;
|
||||
if(texCoordScaling.x != 0.0)
|
||||
pass_TexCoords.x *= texCoordScaling.x;
|
||||
if(texCoordScaling.y != 0.0)
|
||||
pass_TexCoords.y *= texCoordScaling.y;
|
||||
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<levelPack name="Testpack">
|
||||
<levels>
|
||||
<level goalX="110" number="1">
|
||||
<terrain endX="100" height="1.0">
|
||||
<gaps></gaps>
|
||||
</terrain>
|
||||
<obstacles></obstacles>
|
||||
</level>
|
||||
<level goalX="110" number="2">
|
||||
<terrain endX="100" height="-0.6">
|
||||
<gaps></gaps>
|
||||
</terrain>
|
||||
<obstacles></obstacles>
|
||||
</level>
|
||||
<level goalX="110" number="3">
|
||||
<terrain endX="100" height="-0.6">
|
||||
<gaps>
|
||||
<gap leftEdge="10" rightEdge="11" />
|
||||
<gap leftEdge="20" rightEdge="21" />
|
||||
<gap leftEdge="30" rightEdge="31" />
|
||||
<gap leftEdge="40" rightEdge="41" />
|
||||
<gap leftEdge="50" rightEdge="51" />
|
||||
<gap leftEdge="60" rightEdge="61" />
|
||||
<gap leftEdge="70" rightEdge="71" />
|
||||
<gap leftEdge="80" rightEdge="81" />
|
||||
<gap leftEdge="90" rightEdge="91" />
|
||||
</gaps>
|
||||
</terrain>
|
||||
<obstacles></obstacles>
|
||||
</level>
|
||||
</levels>
|
||||
</levelPack>
|
@ -43,14 +43,14 @@
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_seekbar_thumb_material.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_seekbar_thumb_material.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\xml_background_tutorialtextview.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\xml_background_tutorialtextview.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_btn_check_material.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_btn_check_material.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\xml_background_tutorialtextview.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\xml_background_tutorialtextview.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_spinner_textfield_background_material.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_spinner_textfield_background_material.xml"
|
||||
@ -167,14 +167,14 @@
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\backgrounds_game_mountains.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\backgrounds_game_mountains.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tools_unlockedbutton.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tools_unlockedbutton.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\guis_playerarrow.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\guis_playerarrow.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tools_unlockedbutton.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tools_unlockedbutton.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_ratingbar_full_material.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_ratingbar_full_material.xml"
|
||||
@ -195,14 +195,14 @@
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tip_icon.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tip_icon.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_cab_background_top_material.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_cab_background_top_material.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tools_emptybutton.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tools_emptybutton.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_cab_background_top_material.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_cab_background_top_material.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_text_cursor_material.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_text_cursor_material.xml"
|
||||
@ -219,14 +219,14 @@
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\obstacles_grass.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\obstacles_grass.png"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_list_selector_holo_light.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_list_selector_holo_light.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_switch_thumb_material.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_switch_thumb_material.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\abc_list_selector_holo_light.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\drawable\\abc_list_selector_holo_light.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\drawable\\tools_bombbutton.png",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\drawable\\tools_bombbutton.png"
|
||||
|
@ -3,22 +3,22 @@
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\levels.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\levels.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\toolshop.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\toolshop.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\tutorial.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\tutorial.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\abc_screen_simple_overlay_action_mode.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\layout\\abc_screen_simple_overlay_action_mode.xml"
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\toolshop.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\toolshop.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\worlds.xml",
|
||||
"source": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\src\\main\\res\\layout\\worlds.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\abc_screen_simple_overlay_action_mode.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\layout\\abc_screen_simple_overlay_action_mode.xml"
|
||||
},
|
||||
{
|
||||
"merged": "C:\\Users\\Julian\\AndroidStudioProjects\\EndlessRoll\\app\\build\\intermediates\\res\\merged\\debug\\layout\\abc_screen_simple.xml",
|
||||
"source": "C:\\Users\\Julian\\.android\\build-cache\\2232000db64551c7682d41127fbc27c912efcc3d\\output\\res\\layout\\abc_screen_simple.xml"
|
||||
|
@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merger version="3"><dataSet config="output"><source path="C:\Users\Julian\.android\build-cache\7988038707870a182a4d2c219c6a86a58ec3478f\output\assets"/></dataSet><dataSet config="output"><source path="C:\Users\Julian\.android\build-cache\2232000db64551c7682d41127fbc27c912efcc3d\output\assets"/></dataSet><dataSet config="main"><source path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets"><file name="fontBaron.ttf" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\fontBaron.ttf"/><file name="Grasslands.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\Grasslands.xml"/><file name="Icy Mountains.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\Icy Mountains.xml"/><file name="levelpacks/Beginning.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\levelpacks\Beginning.xml"/><file name="levelpacks/Grasslands.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\levelpacks\Grasslands.xml"/><file name="levelpacks/Icy Mountains.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\levelpacks\Icy Mountains.xml"/><file name="levelpacks/Testcave.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\levelpacks\Testcave.xml"/><file name="levelpack_01.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\levelpack_01.xml"/><file name="particleEffects/collectEnergy.pe" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\collectEnergy.pe"/><file name="particleEffects/collectStar.pe" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\collectStar.pe"/><file name="particleEffects/explosion.pe" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\explosion.pe"/><file name="particleEffects/magnet.pe" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\magnet.pe"/><file name="particleEffects/particle.png" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\particle.png"/><file name="particleEffects/star.png" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\star.png"/><file name="shader/entityFragmentShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\entityFragmentShader.glsl"/><file name="shader/entityVertexShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\entityVertexShader.glsl"/><file name="shader/particleFragmentShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\particleFragmentShader.glsl"/><file name="shader/simpleFragmentShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\simpleFragmentShader.glsl"/><file name="shader/simpleVertexShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\simpleVertexShader.glsl"/><file name="shader/terrainVertexShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\terrainVertexShader.glsl"/><file name="testlevelpack.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\testlevelpack.xml"/></source><source path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\build\generated\assets\shaders\debug"/></dataSet><dataSet config="debug"><source path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\debug\assets"/></dataSet></merger>
|
||||
<merger version="3"><dataSet config="output"><source path="C:\Users\Julian\.android\build-cache\7988038707870a182a4d2c219c6a86a58ec3478f\output\assets"/></dataSet><dataSet config="output"><source path="C:\Users\Julian\.android\build-cache\2232000db64551c7682d41127fbc27c912efcc3d\output\assets"/></dataSet><dataSet config="main"><source path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets"><file name="fontBaron.ttf" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\fontBaron.ttf"/><file name="levelpacks/Grasslands.xml" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\levelpacks\Grasslands.xml"/><file name="particleEffects/collectEnergy.pe" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\collectEnergy.pe"/><file name="particleEffects/collectStar.pe" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\collectStar.pe"/><file name="particleEffects/explosion.pe" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\explosion.pe"/><file name="particleEffects/magnet.pe" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\magnet.pe"/><file name="particleEffects/particle.png" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\particle.png"/><file name="particleEffects/star.png" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\particleEffects\star.png"/><file name="shader/entityFragmentShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\entityFragmentShader.glsl"/><file name="shader/entityVertexShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\entityVertexShader.glsl"/><file name="shader/particleFragmentShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\particleFragmentShader.glsl"/><file name="shader/simpleFragmentShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\simpleFragmentShader.glsl"/><file name="shader/simpleVertexShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\simpleVertexShader.glsl"/><file name="shader/terrainVertexShader.glsl" path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\main\assets\shader\terrainVertexShader.glsl"/></source><source path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\build\generated\assets\shaders\debug"/></dataSet><dataSet config="debug"><source path="C:\Users\Julian\AndroidStudioProjects\EndlessRoll\app\src\debug\assets"/></dataSet></merger>
|
Binary file not shown.
Before Width: | Height: | Size: 622 B After Width: | Height: | Size: 179 B |
@ -51,6 +51,6 @@
|
||||
android:layout_marginLeft="48dp"
|
||||
android:layout_marginStart="48dp"
|
||||
android:text="Lv to 100"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="visible"/>
|
||||
|
||||
</RelativeLayout>
|
Binary file not shown.
@ -1,285 +0,0 @@
|
||||
<levelPack>
|
||||
<theme>GRASSLANDS</theme>
|
||||
<levels class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<tileData x="21.640932" width="11.797886"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<starData index="2" x="15.106676" y="-0.14000002" width="0.25" height="0.25"/>
|
||||
<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.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"/>
|
||||
<tileData x="15.41926" width="8.228134"/>
|
||||
<tileData x="20.374657" width="0.4826603"/>
|
||||
<tileData x="24.32193" width="6.43589"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<starData index="2" x="15.7367" y="0.3199999" width="0.25" height="0.25"/>
|
||||
<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.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"/>
|
||||
<tileData x="15.293072" width="7.220421"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<starData index="2" x="8.793346" y="-0.4733331" width="0.25" height="0.25"/>
|
||||
<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.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"/>
|
||||
<tileData x="25.439342" width="4.201065"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="23.786556" width="0.29333496"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<starData index="2" x="16.310017" y="0.80666655" width="0.25" height="0.25"/>
|
||||
<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.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 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"/>
|
||||
<starData index="2" x="7.5566673" y="0.26000008" width="0.25" height="0.25"/>
|
||||
<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.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"/>
|
||||
<tileData x="13.799343" width="5.285305"/>
|
||||
<tileData x="21.770779" width="9.7455635"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<starData index="2" x="10.696706" y="-0.46666694" width="0.25" height="0.25"/>
|
||||
<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.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"/>
|
||||
<tileData x="17.96075" width="3.4850826"/>
|
||||
<tileData x="22.583197" width="4.5598145"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="25.669922" width="0.39332962"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<starData index="2" x="13.066695" y="0.48666692" width="0.25" height="0.25"/>
|
||||
<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.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"/>
|
||||
<tileData x="9.478603" width="3.1838756"/>
|
||||
<tileData x="16.133102" width="3.5271206"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<starData index="2" x="14.12338" y="-0.79999965" width="0.25" height="0.25"/>
|
||||
<starData index="3" x="17.523336" y="0.4799996" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level number="9" 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">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="0.45000017" rightEdge="0.95000017" 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="false" deadly="false" leftEdge="-0.103333026" rightEdge="0.39666697" height="0.5" y="0.22666666">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="true" leftEdge="-1.7966661" rightEdge="-1.2966661" 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="false" deadly="true" leftEdge="-0.7099999" rightEdge="-0.20999992" height="0.5" y="0.21999998">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="10" 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">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="-0.68833333" rightEdge="0.82166666" height="1.541" y="0.17049998">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="11" goalX="22.569973" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.23241591" width="6.464832"/>
|
||||
<tileData x="8.307598" width="7.651533"/>
|
||||
<tileData x="18.551668" width="8.036609"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="9.7849865" width="25.569973"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.3666725" rightEdge="8.8666725" height="0.344" y="-0.42800003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.186697" rightEdge="19.606695" height="0.4" y="-0.40000004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.026669" rightEdge="6.026669" height="0.229" y="0.7399997">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="12" goalX="28.746628" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.34033322" width="5.3193336"/>
|
||||
<tileData x="9.0306835" width="10.206701"/>
|
||||
<tileData x="22.446331" width="12.600594"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="12.873314" width="31.746628"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.236673" rightEdge="8.736673" height="0.8" y="-0.20000002">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="21.91664" rightEdge="22.41664" height="0.968" y="-0.11600003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="1.5333319" rightEdge="4.533332" height="0.344" y="0.5999999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.538332" rightEdge="5.6083317" height="0.306" y="0.59999996">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
</levels>
|
||||
</levelPack>
|
@ -1,57 +0,0 @@
|
||||
<levelPack>
|
||||
<theme>ICY_MOUNTAINS</theme>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level number="1" goalX="29.37652" startSpeed="0.6" endSpeed="0.6" terrainEdge="-0.957" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="13.188259" width="32.37652"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="13.188259" width="32.37652"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="2" goalX="3.0" startSpeed="0.1" endSpeed="0.5" 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">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.6566663" rightEdge="2.1566663" height="0.5" y="-0.35000002"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level number="3" goalX="20.986637" startSpeed="0.5" endSpeed="0.6" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.08241773" width="5.8351645"/>
|
||||
<tileData x="4.4789143" width="0.9214988"/>
|
||||
<tileData x="7.7215056" width="0.33568478"/>
|
||||
<tileData x="11.007034" width="0.25934982"/>
|
||||
<tileData x="18.561672" width="4.84993"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="8.993319" width="23.986637"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.9333316" rightEdge="4.9333315" height="0.218" y="-0.49100003"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="5.698176" rightEdge="6.8551755" height="0.558" y="-0.38666666"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="7.399845" rightEdge="8.086845" height="0.5" y="-0.26666665"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="8.412685" rightEdge="9.840685" height="0.395" y="-0.06666667"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="10.084207" rightEdge="11.729207" height="0.286" y="-0.18666662"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="12.520058" rightEdge="15.520058" height="0.354" y="0.080000006"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.280017" rightEdge="14.280017" height="0.19" y="-1.1199995"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="15.560076" rightEdge="15.940075" height="2.0" y="0.89333296"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="14.299717" rightEdge="16.793716" height="0.177" y="-1.1399996"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.028896" rightEdge="19.317898" height="0.871" y="-0.16450003"/>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="19.86667" rightEdge="20.36667" height="0.5" y="0.35999995"/>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<starData index="1" x="3.426661" y="-0.76666605" width="0.25" height="0.25"/>
|
||||
<starData index="2" x="11.003345" y="-0.43999967" width="0.25" height="0.25"/>
|
||||
<starData index="3" x="20.120005" y="0.7799998" width="0.25" height="0.25"/>
|
||||
</stars>
|
||||
</level>
|
||||
</levels>
|
||||
</levelPack>
|
@ -1,44 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<levelPack name="Levelpack 1">
|
||||
<levels>
|
||||
<level goalX="24" number="1">
|
||||
<terrain endX="27" height="-0.6">
|
||||
<gaps>
|
||||
<gap leftEdge="4" rightEdge="5"/>
|
||||
<gap leftEdge="12" rightEdge="13"/>
|
||||
<gap leftEdge="16" rightEdge="16.5"/>
|
||||
<gap leftEdge="16.8" rightEdge="17.3"/>
|
||||
</gaps>
|
||||
</terrain>
|
||||
<obstacles>
|
||||
<obstacle height="0.3" leftEdge="9" rightEdge="10" type="default"/>
|
||||
<obstacle height="0.2" leftEdge="13" rightEdge="14" type="default"/>
|
||||
<obstacle height="0.3" leftEdge="18" rightEdge="20" type="default"/>
|
||||
<obstacle height="0.5" leftEdge="20" rightEdge="21" type="default"/>
|
||||
<obstacle height="0.1" leftEdge="21" rightEdge="22" type="default"/>
|
||||
</obstacles>
|
||||
</level>
|
||||
<level goalX="21.25" number="2">
|
||||
<terrain endX="21" height="-0.6">
|
||||
<gaps>
|
||||
<gap leftEdge="1" rightEdge="1.7" />
|
||||
<gap leftEdge="8.9" rightEdge="9.6" />
|
||||
<gap leftEdge="9.7" rightEdge="10.4" />
|
||||
<gap leftEdge="15" rightEdge="16.1" />
|
||||
</gaps>
|
||||
</terrain>
|
||||
<obstacles>
|
||||
<obstacle height="0.3" leftEdge="1.73" rightEdge="2.3" type="default" />
|
||||
<obstacle height="0.5" leftEdge="2.9" rightEdge="3.6" type="default" />
|
||||
<obstacle height="0.3" leftEdge="5" rightEdge="7" type="default" />
|
||||
<obstacle height="0.52" leftEdge="7.1" rightEdge="8.5" type="default" />
|
||||
<obstacle height="0.5" leftEdge="11.4" rightEdge="12.8" type="default" />
|
||||
<obstacle height="0.5" leftEdge="13.9" rightEdge="14.2" type="default" />
|
||||
<obstacle height="0.24" leftEdge="16.8" rightEdge="18.3" type="default" />
|
||||
<obstacle height="0.35" leftEdge="18.30001" rightEdge="18.8" type="default" />
|
||||
<obstacle height="0.54" leftEdge="18.80001" rightEdge="19.4" type="default" />
|
||||
<obstacle height="0.41" leftEdge="19.40001" rightEdge="20.5" type="default" />
|
||||
</obstacles>
|
||||
</level>
|
||||
</levels>
|
||||
</levelPack>
|
@ -1,284 +1,272 @@
|
||||
<levelPack id="2">
|
||||
<theme>GRASSLANDS</theme>
|
||||
<levelPack id="1">
|
||||
<world>GRASSLANDS</world>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level packId="2" id="1" goalX="22.606565" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level packId="1" id="1" goalX="16.896702" 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"/>
|
||||
<tileData x="21.640932" width="11.797886"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="11.159975" y="-0.15999995"/>
|
||||
<positionData x="15.106676" y="-0.14000002"/>
|
||||
<positionData x="22.043303" y="-0.20666662"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="15.41926" width="8.228134"/>
|
||||
<tileData x="20.374657" width="0.4826603"/>
|
||||
<tileData x="24.32193" width="6.43589"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="10.94335" y="-0.61999965"/>
|
||||
<positionData x="15.7367" y="0.3199999"/>
|
||||
<positionData x="18.893328" y="-0.12666662"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="15.293072" width="7.220421"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="2.6399994" y="0.10666669"/>
|
||||
<positionData x="8.793346" y="-0.4733331"/>
|
||||
<positionData x="12.253348" y="-0.13333318"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="25.439342" width="4.201065"/>
|
||||
<tileData x="1.0092487" width="8.018497"/>
|
||||
<tileData x="13.61743" width="15.911868"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="23.786556" width="0.29333496"/>
|
||||
<tileData x="6.948351" width="19.896702"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="12.00004" rightEdge="12.50004" height="0.382" y="-0.40900004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="11.560022" y="-0.26000002"/>
|
||||
<positionData x="16.310017" y="0.80666655"/>
|
||||
<positionData x="21.9833" y="-0.099999994"/>
|
||||
<positionData x="5.3666835" y="0.7866664"/>
|
||||
<positionData x="12.263359" y="-0.0266667"/>
|
||||
<positionData x="16.58005" y="0.77999955"/>
|
||||
</stars>
|
||||
<energy x="12.243361" y="-0.40666705"/>
|
||||
</level>
|
||||
<level packId="2" id="5" goalX="16.249996" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level packId="1" id="2" goalX="23.896725" 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 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">
|
||||
<positionData x="2.5799987" y="0.62"/>
|
||||
<positionData x="7.5566673" y="0.26000008"/>
|
||||
<positionData x="11.85002" y="-0.4533334"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="13.799343" width="5.285305"/>
|
||||
<tileData x="21.770779" width="9.7455635"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="4.586666" y="-0.5866665"/>
|
||||
<positionData x="10.696706" y="-0.46666694"/>
|
||||
<positionData x="20.64665" y="0.39999995"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="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"/>
|
||||
<tileData x="17.96075" width="3.4850826"/>
|
||||
<tileData x="22.583197" width="4.5598145"/>
|
||||
<tileData x="1.6106672" width="9.221334"/>
|
||||
<tileData x="12.331865" width="10.333063"/>
|
||||
<tileData x="20.876247" width="4.5356846"/>
|
||||
<tileData x="25.874727" width="4.7972755"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="25.669922" width="0.39332962"/>
|
||||
<tileData x="10.448362" width="26.896725"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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"/>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.2166634" rightEdge="6.2166634" height="0.293" y="-0.45350003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="14.9867525" rightEdge="15.406753" height="0.586" y="-0.307">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="15.434769" rightEdge="17.498768" 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="false" moving="false" deadly="false" leftEdge="23.488386" rightEdge="24.138388" height="0.331" y="-0.43450004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="11.798721" rightEdge="14.454721" height="0.204" y="-0.49800003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="6.6800065" y="-0.38666666"/>
|
||||
<positionData x="13.066695" y="0.48666692"/>
|
||||
<positionData x="20.679989" y="0.85333335"/>
|
||||
<positionData x="6.6933284" y="-0.57999974"/>
|
||||
<positionData x="14.833428" y="-0.4399998"/>
|
||||
<positionData x="18.076752" y="-0.50000006"/>
|
||||
</stars>
|
||||
<energy x="16.436743" y="-0.37333328"/>
|
||||
</level>
|
||||
<level packId="2" id="8" goalX="17.896662" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level packId="1" id="3" goalX="25.803282" 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"/>
|
||||
<tileData x="9.478603" width="3.1838756"/>
|
||||
<tileData x="16.133102" width="3.5271206"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList"/>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="2.543333" y="0.3933335"/>
|
||||
<positionData x="14.12338" y="-0.79999965"/>
|
||||
<positionData x="17.523336" y="0.4799996"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="2" id="9" 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"/>
|
||||
<tileData x="2.928771" width="11.857542"/>
|
||||
<tileData x="14.645462" width="3.5258408"/>
|
||||
<tileData x="20.861193" width="7.2456512"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="0.0" width="6.0"/>
|
||||
<tileData x="6.5533686" width="19.106737"/>
|
||||
<tileData x="20.95501" width="9.696545"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="0.45000017" rightEdge="0.95000017" height="0.5" y="-0.35000002">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.3533306" rightEdge="5.3533306" height="0.357" y="-0.42150003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="-0.103333026" rightEdge="0.39666697" height="0.5" y="0.22666666">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="5.385499" rightEdge="7.3344994" height="0.688" y="-0.256">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="true" leftEdge="-1.7966661" rightEdge="-1.2966661" height="0.5" y="-0.35000002">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.4723425" rightEdge="8.834342" height="1.032" y="-0.08400005">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="true" leftEdge="-0.7099999" rightEdge="-0.20999992" height="0.5" y="0.21999998">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="7.432005" rightEdge="8.368005" height="0.637" y="-0.2815">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="9.223393" rightEdge="12.223393" height="0.127" y="-0.93333316">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="21.176678" rightEdge="21.676678" height="0.408" y="-0.39600003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="21.729795" rightEdge="22.436796" height="0.318" y="-0.44100004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="22.456125" rightEdge="23.297125" height="0.242" y="-0.47900003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="23.333607" rightEdge="24.479607" height="0.178" y="-0.51100004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.6883316" rightEdge="2.3383317" height="0.382" y="-0.40900004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="5.236675" y="-0.10000009"/>
|
||||
<positionData x="12.743379" y="-0.87999964"/>
|
||||
<positionData x="25.046606" y="0.44000027"/>
|
||||
</stars>
|
||||
<energy x="9.043368" y="-0.8999996"/>
|
||||
</level>
|
||||
<level packId="1" id="4" goalX="23.266603" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.27333355" width="5.453333"/>
|
||||
<tileData x="10.069099" width="5.231532"/>
|
||||
<tileData x="17.179937" width="0.2761612"/>
|
||||
<tileData x="24.247623" width="8.61121"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="10.133302" width="26.266603"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.5106652" rightEdge="3.5426652" height="0.5" y="-0.9066665">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.6169972" rightEdge="4.7829976" height="0.5" y="-0.9799999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.875505" rightEdge="5.9645047" height="0.5" y="-1.0799999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="6.0315022" rightEdge="7.3885026" height="0.5" y="-0.76666665">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="9.111034" rightEdge="11.289034" height="0.382" y="-0.40900004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="11.36054" rightEdge="12.65954" height="0.306" y="-0.44700003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="12.702217" rightEdge="15.511217" height="0.166" y="-0.026666649">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="15.972044" rightEdge="18.208044" height="0.255" y="0.29333323">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="18.377197" rightEdge="18.836197" height="0.229" y="0.1666667">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="19.030016" rightEdge="19.530016" height="0.242" y="0.0066666286">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="20.63783" rightEdge="20.828833" height="1.108" y="0.35999984">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="22.10714" rightEdge="22.56614" height="0.331" y="-0.3933331">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="4.8966684" y="-0.0933331"/>
|
||||
<positionData x="12.523364" y="-0.09333331"/>
|
||||
<positionData x="21.769947" y="0.3733334"/>
|
||||
</stars>
|
||||
<energy x="17.186693" y="-0.41333315"/>
|
||||
</level>
|
||||
<level packId="1" id="5" goalX="25.756561" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.3149171" width="5.370166"/>
|
||||
<tileData x="5.247172" width="3.9280117"/>
|
||||
<tileData x="8.653435" width="0.0625"/>
|
||||
<tileData x="9.939764" width="0.062160492"/>
|
||||
<tileData x="12.285448" width="3.8192024"/>
|
||||
<tileData x="16.539871" width="3.5896454"/>
|
||||
<tileData x="21.039742" width="2.40209"/>
|
||||
<tileData x="26.437824" width="7.5440884"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="11.378281" width="28.756561"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="6.166328" rightEdge="7.1603284" height="0.293" y="-0.45350003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="16.936665" rightEdge="19.076664" height="0.217" y="0.30666652">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="7.203003" rightEdge="8.6170025" height="0.127" y="-0.41333312">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="8.687184" rightEdge="9.986184" height="0.153" y="-0.47333324">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="10.379863" rightEdge="11.0868635" 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="false" deadly="false" leftEdge="14.776228" rightEdge="15.617228" height="0.344" y="-0.0066666957">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="15.643713" rightEdge="16.809713" height="0.293" y="-0.050000057">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="17.627857" rightEdge="18.258858" height="0.318" y="-0.44100004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="18.325031" rightEdge="19.83503" height="0.166" y="-0.41999984">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="2.8000035" y="-0.77999914"/>
|
||||
<positionData x="11.243364" y="-0.43999982"/>
|
||||
<positionData x="16.21668" y="0.34666675"/>
|
||||
</stars>
|
||||
<energy x="19.086668" y="-0.81333315"/>
|
||||
</level>
|
||||
<level packId="1" id="6" goalX="16.046711" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="2.3134198" width="10.62684"/>
|
||||
<tileData x="11.750938" width="5.8622084"/>
|
||||
<tileData x="17.74903" width="5.2619705"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="6.5233555" width="19.046711"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="2.5633323" rightEdge="2.9833324" height="0.866" y="-0.16700003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="12.6995325" rightEdge="13.100532" height="0.42" y="-0.39000005">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="13.132866" rightEdge="13.533865" height="0.611" y="-0.29450002">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="13.566537" rightEdge="14.693538" height="0.344" y="-0.42800003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList">
|
||||
<positionData x="2.7666643" y="0.8799996"/>
|
||||
<positionData x="8.200006" y="0.8999994"/>
|
||||
<positionData x="12.566701" y="-0.4666665"/>
|
||||
</stars>
|
||||
<energy x="13.326665" y="-0.40666687"/>
|
||||
</level>
|
||||
<level packId="1" id="7" goalX="10.643346" startSpeed="0.2" endSpeed="0.2" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="3.821673" width="13.643346"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="3.821673" width="13.643346"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="0.5466671" rightEdge="3.546667" height="0.917" y="-0.14150003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.6133304" rightEdge="6.6133304" height="1.414" y="0.10699999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="6.633338" rightEdge="9.633338" height="1.057" y="-0.0715">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level packId="2" id="10" goalX="3.0" startSpeed="0.0" endSpeed="0.0" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<level packId="1" id="8" goalX="3.0" startSpeed="0.5" endSpeed="0.5" 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">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="-0.68833333" rightEdge="0.82166666" height="1.541" y="0.17049998">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level packId="2" id="11" goalX="22.569973" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="0.23241591" width="6.464832"/>
|
||||
<tileData x="8.307598" width="7.651533"/>
|
||||
<tileData x="18.551668" width="8.036609"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="9.7849865" width="25.569973"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.3666725" rightEdge="8.8666725" height="0.344" y="-0.42800003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.186697" rightEdge="19.606695" height="0.4" y="-0.40000004">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.026669" rightEdge="6.026669" height="0.229" y="0.7399997">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level packId="2" id="12" goalX="28.746628" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-0.34033322" width="5.3193336"/>
|
||||
<tileData x="9.0306835" width="10.206701"/>
|
||||
<tileData x="22.446331" width="12.600594"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="12.873314" width="31.746628"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.236673" rightEdge="8.736673" height="0.8" y="-0.20000002">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="21.91664" rightEdge="22.41664" height="0.968" y="-0.11600003">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="1.5333319" rightEdge="4.533332" height="0.344" y="0.5999999">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="false" deadly="false" leftEdge="4.538332" rightEdge="5.6083317" height="0.306" y="0.59999996">
|
||||
<moveComponent width="0.0" height="0.0" x="0.0" y="0.0" speed="0.0"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<obstacles class="java.util.ArrayList"/>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
</levels>
|
||||
|
@ -1,115 +0,0 @@
|
||||
<levelPack id="5">
|
||||
<theme>TESTCAVE</theme>
|
||||
<levels class="java.util.ArrayList">
|
||||
<level packId="5" id="1" goalX="4.3969" startSpeed="0.6" endSpeed="0.6" terrainEdge="-0.176" ceilingEdge="0.747">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.4650004" width="1.0699992"/>
|
||||
<tileData x="1.3783364" width="5.4166737"/>
|
||||
</terrainTiles>
|
||||
<ceilingTiles class="java.util.ArrayList">
|
||||
<tileData x="-2.6666667" width="0.6666665"/>
|
||||
<tileData x="0.59333193" width="4.6533327"/>
|
||||
<tileData x="3.9584491" width="0.8769021"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<obstacleData floating="false" moving="false" deadly="false" leftEdge="3.6066647" rightEdge="4.1066647" height="0.5" y="0.074">
|
||||
<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="1.6499996" rightEdge="2.1499996" height="0.5" y="0.074">
|
||||
<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.7566657" rightEdge="-2.2566657" height="0.5" y="0.074">
|
||||
<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="2.429999" rightEdge="2.929999" height="0.5" y="0.26666665">
|
||||
<moveComponent width="2.841" height="1.212" x="2.679999" y="0.26666665" speed="0.136"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
<energy x="0.013333277" y="0.32666668"/>
|
||||
</level>
|
||||
<level packId="5" id="2" goalX="13.38005" startSpeed="0.5" endSpeed="0.6" terrainEdge="-0.6" ceilingEdge="1.0">
|
||||
<terrainTiles class="java.util.ArrayList">
|
||||
<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="5.1900253" width="16.38005"/>
|
||||
</ceilingTiles>
|
||||
<obstacles class="java.util.ArrayList">
|
||||
<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">
|
||||
<positionData x="3.0633316" y="-0.43333337"/>
|
||||
<positionData x="9.686677" y="-0.76000005"/>
|
||||
<positionData x="13.110031" y="0.8466663"/>
|
||||
</stars>
|
||||
</level>
|
||||
<level packId="5" id="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.664"/>
|
||||
</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 packId="5" id="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">
|
||||
<obstacleData floating="false" moving="true" deadly="false" leftEdge="-0.55199987" rightEdge="-0.20799984" height="0.357" y="-0.42150003">
|
||||
<moveComponent width="0.0" height="1.086" x="-0.37999985" y="-0.42150003" speed="0.5"/>
|
||||
</obstacleData>
|
||||
<obstacleData floating="true" moving="true" deadly="false" leftEdge="-1.6233331" rightEdge="-1.1233331" height="0.5" y="-0.35000002">
|
||||
<moveComponent width="0.0" height="1.275" x="-1.3733331" y="-0.35000002" speed="0.508"/>
|
||||
</obstacleData>
|
||||
</obstacles>
|
||||
<stars class="java.util.ArrayList"/>
|
||||
</level>
|
||||
<level packId="5" id="9" goalX="3.0" startSpeed="0.5" endSpeed="0.5" 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>
|
||||
</levels>
|
||||
</levelPack>
|
@ -1,5 +1,6 @@
|
||||
uniform mat4 mvpMatrix;
|
||||
uniform mat4 transformationMatrix;
|
||||
uniform vec2 texCoordScaling;
|
||||
|
||||
attribute vec4 position;
|
||||
attribute vec2 texCoords;
|
||||
@ -11,5 +12,9 @@ void main() {
|
||||
vec4 transformatedPosition = transformationMatrix * position;
|
||||
gl_Position = mvpMatrix * transformatedPosition;
|
||||
pass_TexCoords = texCoords;
|
||||
if(texCoordScaling.x != 0.0)
|
||||
pass_TexCoords.x *= texCoordScaling.x;
|
||||
if(texCoordScaling.y != 0.0)
|
||||
pass_TexCoords.y *= texCoordScaling.y;
|
||||
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<levelPack name="Testpack">
|
||||
<levels>
|
||||
<level goalX="110" number="1">
|
||||
<terrain endX="100" height="1.0">
|
||||
<gaps></gaps>
|
||||
</terrain>
|
||||
<obstacles></obstacles>
|
||||
</level>
|
||||
<level goalX="110" number="2">
|
||||
<terrain endX="100" height="-0.6">
|
||||
<gaps></gaps>
|
||||
</terrain>
|
||||
<obstacles></obstacles>
|
||||
</level>
|
||||
<level goalX="110" number="3">
|
||||
<terrain endX="100" height="-0.6">
|
||||
<gaps>
|
||||
<gap leftEdge="10" rightEdge="11" />
|
||||
<gap leftEdge="20" rightEdge="21" />
|
||||
<gap leftEdge="30" rightEdge="31" />
|
||||
<gap leftEdge="40" rightEdge="41" />
|
||||
<gap leftEdge="50" rightEdge="51" />
|
||||
<gap leftEdge="60" rightEdge="61" />
|
||||
<gap leftEdge="70" rightEdge="71" />
|
||||
<gap leftEdge="80" rightEdge="81" />
|
||||
<gap leftEdge="90" rightEdge="91" />
|
||||
</gaps>
|
||||
</terrain>
|
||||
<obstacles></obstacles>
|
||||
</level>
|
||||
</levels>
|
||||
</levelPack>
|
@ -11,6 +11,7 @@ public class Background extends SynchronizedArrayList<Entity> {
|
||||
|
||||
private final float PART_WIDTH = 5;
|
||||
private final float HALF_PART_WIDTH = PART_WIDTH / 2;
|
||||
private final float HEIGHT = 2.5f;
|
||||
private Texture texture;
|
||||
|
||||
public Background(Texture texture) {
|
||||
@ -27,7 +28,7 @@ public class Background extends SynchronizedArrayList<Entity> {
|
||||
}
|
||||
|
||||
private Entity createPart(float xLeftEdge) {
|
||||
return new Entity(texture, new Vector(xLeftEdge + HALF_PART_WIDTH, 0), PART_WIDTH, 2);
|
||||
return new Entity(texture, new Vector(xLeftEdge + HALF_PART_WIDTH, (HEIGHT - 2) / 2), PART_WIDTH, HEIGHT);
|
||||
}
|
||||
|
||||
public void move(float x, float cameraX) {
|
||||
|
@ -16,11 +16,13 @@ public class Entity extends Quad {
|
||||
private float alpha = 1.0f;
|
||||
private boolean destroyed;
|
||||
private DestroyEffect destroyEffect;
|
||||
private Vector maxTexSize;
|
||||
|
||||
public Entity(Texture texture, Vector position, float width, float height) {
|
||||
super(position, width, height);
|
||||
this.texture = texture;
|
||||
this.movement = new Vector();
|
||||
this.maxTexSize = new Vector();
|
||||
}
|
||||
|
||||
public void move(Vector movement) {
|
||||
@ -91,4 +93,12 @@ public class Entity extends Quad {
|
||||
public int getTextureAtlasIndex() {
|
||||
return textureAtlasIndex;
|
||||
}
|
||||
|
||||
public void setMaxTexSize(Vector maxTexSize) {
|
||||
this.maxTexSize = maxTexSize;
|
||||
}
|
||||
|
||||
public Vector getMaxTexSize() {
|
||||
return maxTexSize;
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,8 @@ import com.example.julian.endlessroll.entities.textures.Texture;
|
||||
public class Goal extends Entity {
|
||||
|
||||
public Goal(Texture texture) {
|
||||
super(texture, new Vector(), 0.1f, 2);
|
||||
super(texture, new Vector(), 0.1f, 3);
|
||||
super.getMaxTexSize().setY(0.2f);
|
||||
}
|
||||
|
||||
public void setGoalX(float goalX) {
|
||||
|
@ -3,7 +3,7 @@ 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.Theme;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
@ -23,8 +23,8 @@ public class Obstacle extends Entity {
|
||||
|
||||
private float moveProgress;
|
||||
|
||||
public Obstacle(Theme theme, ObstacleData data, float terrainEdge) {
|
||||
super(theme.getObstacleTexture(), new Vector(data.getX(), data.getY()), data.getWidth(), data.getHeight());
|
||||
public Obstacle(World world, ObstacleData data, float terrainEdge) {
|
||||
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();
|
||||
|
@ -56,7 +56,7 @@ public class Particle extends Entity {
|
||||
|
||||
public void update(Timer timer, float windStrength, float gravityStrength) {
|
||||
if (active) {
|
||||
passedLifetime += timer.getFrameTime();
|
||||
passedLifetime += timer.getFrameTimeSeconds();
|
||||
if (passedLifetime >= maxLife)
|
||||
active = false;
|
||||
float lifetimePercent = passedLifetime / maxLife;
|
||||
|
@ -56,18 +56,18 @@ public class ParticleSource {
|
||||
|
||||
public void update(Timer timer) {
|
||||
if (alife) {
|
||||
passedTime += timer.getFrameTime();
|
||||
passedTime += timer.getFrameTimeSeconds();
|
||||
lifePercent = passedTime / maxTime;
|
||||
|
||||
if (passedTime >= currentDelay) {
|
||||
passedEmittPause += timer.getFrameTime();
|
||||
passedEmittPause += timer.getFrameTimeSeconds();
|
||||
calcWindAndGravity();
|
||||
while (passedEmittPause >= emittPause) {
|
||||
passedEmittPause -= emittPause;
|
||||
emitt();
|
||||
}
|
||||
|
||||
passedSecond += timer.getFrameTime();
|
||||
passedSecond += timer.getFrameTimeSeconds();
|
||||
if (passedSecond >= 1000) {
|
||||
passedSecond -= 1000;
|
||||
calcEmittPause();
|
||||
@ -89,7 +89,7 @@ public class ParticleSource {
|
||||
inactiveParticles.add(particle);
|
||||
iter.remove();
|
||||
} else {
|
||||
particle.move(new Vector(particle.getMovement()).mul(timer.getFrameTime() / 1000));
|
||||
particle.move(new Vector(particle.getMovement()).mul(timer.getFrameTimeSeconds() / 1000));
|
||||
}
|
||||
}
|
||||
activeParticleLock.unlock();
|
||||
|
@ -5,7 +5,7 @@ import android.support.annotation.DrawableRes;
|
||||
|
||||
import com.example.julian.endlessroll.R;
|
||||
import com.example.julian.endlessroll.entities.tools.ToolType;
|
||||
import com.example.julian.endlessroll.levels.worlds.Theme;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
|
||||
/**
|
||||
* Created by Julian on 05.12.2015.
|
||||
@ -30,7 +30,7 @@ public class TexturePack {
|
||||
energy = loadAtlas(R.drawable.currency_energy_atlas, 2, 2);
|
||||
|
||||
ToolType.loadAllToolTextures(this);
|
||||
Theme.loadAllSpecificTextures(this);
|
||||
World.loadAllSpecificTextures(this);
|
||||
}
|
||||
|
||||
public Texture loadTexture(@DrawableRes int id) {
|
||||
|
@ -3,7 +3,7 @@ package com.example.julian.endlessroll.entities.tileLists;
|
||||
import com.example.julian.endlessroll.data.SynchronizedArrayList;
|
||||
import com.example.julian.endlessroll.entities.textures.Texture;
|
||||
import com.example.julian.endlessroll.levels.TileData;
|
||||
import com.example.julian.endlessroll.levels.worlds.Theme;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@ -36,10 +36,10 @@ public class TileList extends SynchronizedArrayList<Tile> {
|
||||
this.texture = texture;
|
||||
}
|
||||
|
||||
public void loadData(Theme theme, float edge, List<TileData> tileData) {
|
||||
this.texture = theme.getTerrainTexture();
|
||||
public void loadData(World world, float edge, List<TileData> tileData) {
|
||||
this.texture = world.getTerrainTexture();
|
||||
if (type == Type.CEILING)
|
||||
this.texture = theme.getCeilingTexture();
|
||||
this.texture = world.getCeilingTexture();
|
||||
this.endless = false;
|
||||
super.clear();
|
||||
for (TileData data : tileData)
|
||||
@ -49,8 +49,8 @@ public class TileList extends SynchronizedArrayList<Tile> {
|
||||
super.clear();
|
||||
}
|
||||
|
||||
public void createEndless(Theme theme, float edge) {
|
||||
loadData(theme, edge, new ArrayList<TileData>());
|
||||
public void createEndless(World world, float edge) {
|
||||
loadData(world, edge, new ArrayList<TileData>());
|
||||
super.add(createEndlessTile(0));
|
||||
this.endless = true;
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ public class Bomb extends Tool {
|
||||
@Override
|
||||
public void update(Timer timer) {
|
||||
super.update(timer);
|
||||
delta += timer.getFrameTime();
|
||||
delta += timer.getFrameTimeSeconds();
|
||||
if (delta >= 1000)
|
||||
exploding = true;
|
||||
}
|
||||
|
@ -15,11 +15,6 @@ public class ToolSlot {
|
||||
this.locked = locked;
|
||||
}
|
||||
|
||||
public ToolSlot(String type) {
|
||||
this.toolType = ToolType.valueOf(type);
|
||||
this.locked = toolType == ToolType.NONE;
|
||||
}
|
||||
|
||||
public ToolType getToolType() {
|
||||
return toolType;
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
package com.example.julian.endlessroll.levels;
|
||||
|
||||
import com.example.julian.endlessroll.levels.worlds.Theme;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
|
||||
import org.simpleframework.xml.Attribute;
|
||||
import org.simpleframework.xml.Element;
|
||||
@ -18,7 +18,7 @@ public class LevelPack {
|
||||
@Attribute
|
||||
private int id;
|
||||
@Element
|
||||
private Theme theme;
|
||||
private World world;
|
||||
@ElementList
|
||||
private List<Level> levels;
|
||||
|
||||
@ -33,8 +33,8 @@ public class LevelPack {
|
||||
return levels;
|
||||
}
|
||||
|
||||
public Theme getTheme() {
|
||||
return theme;
|
||||
public World getWorld() {
|
||||
return world;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
|
@ -10,7 +10,7 @@ import com.example.julian.endlessroll.entities.textures.TexturePack;
|
||||
* Created by Julian on 14.11.2016.
|
||||
*/
|
||||
|
||||
public enum Theme {
|
||||
public enum World {
|
||||
|
||||
GRASSLANDS("Grasslands", R.drawable.previews_grass, R.drawable.backgrounds_game_grass, R.drawable.terrain_t_grass, R.drawable.terrain_c_grass, R.drawable.obstacles_grass),
|
||||
TESTCAVE("Testcave", R.drawable.previews_grass, R.drawable.backgrounds_game_cave, R.drawable.terrain_t_grass, R.drawable.terrain_c_grass, R.drawable.obstacles_cave),
|
||||
@ -33,7 +33,7 @@ public enum Theme {
|
||||
private Texture ceiling;
|
||||
private Texture obstacle;
|
||||
|
||||
Theme(String name, @DrawableRes int previewId, @DrawableRes int backgroundId, @DrawableRes int terrainId, @DrawableRes int ceilingId, @DrawableRes int obstacleId) {
|
||||
World(String name, @DrawableRes int previewId, @DrawableRes int backgroundId, @DrawableRes int terrainId, @DrawableRes int ceilingId, @DrawableRes int obstacleId) {
|
||||
this.name = name;
|
||||
this.previewId = previewId;
|
||||
this.backgroundId = backgroundId;
|
||||
@ -43,8 +43,8 @@ public enum Theme {
|
||||
}
|
||||
|
||||
public static void loadAllSpecificTextures(TexturePack texturePack) {
|
||||
for (Theme theme : values())
|
||||
theme.loadSpecificTextures(texturePack);
|
||||
for (World world : values())
|
||||
world.loadSpecificTextures(texturePack);
|
||||
}
|
||||
|
||||
private void loadSpecificTextures(TexturePack texturePack) {
|
@ -0,0 +1,47 @@
|
||||
package com.example.julian.endlessroll.main.game;
|
||||
|
||||
import com.example.julian.endlessroll.main.GameLog;
|
||||
|
||||
/**
|
||||
* Created by Julian on 22.05.2017.
|
||||
*/
|
||||
|
||||
public class Camera {
|
||||
|
||||
private final float MOVE_SPEED_UP = 0.7f;
|
||||
private final float MOVE_SPEED_DOWN = 0.7f;
|
||||
private final float MAX_Y = 0.5f;
|
||||
private final float MIN_Y = 0;
|
||||
private float x, y;
|
||||
|
||||
public void update(float playerY, Timer timer){
|
||||
float frameTime = timer.getFrameTimeSeconds() / 1000f;
|
||||
float maxY = Math.min(playerY - 1 + 0.6f, MAX_Y);
|
||||
if(playerY >= 0.5f){
|
||||
y += MOVE_SPEED_UP * frameTime;
|
||||
if(y > maxY)
|
||||
y = maxY;
|
||||
} else if(y > MIN_Y){
|
||||
y -= MOVE_SPEED_DOWN * frameTime;
|
||||
if(y < MIN_Y)
|
||||
y = MIN_Y;
|
||||
}
|
||||
}
|
||||
|
||||
public void moveX(float move){
|
||||
x += move;
|
||||
}
|
||||
|
||||
public void reset(){
|
||||
x = 0;
|
||||
y = 0;
|
||||
}
|
||||
|
||||
public float getX() {
|
||||
return x;
|
||||
}
|
||||
|
||||
public float getY() {
|
||||
return y;
|
||||
}
|
||||
}
|
@ -111,10 +111,9 @@ public class Game extends Rendering<GameScene> {
|
||||
collectedStars.clear();
|
||||
energyCollected = false;
|
||||
particleSystem.deleteAllSources();
|
||||
scene.loadLevel(level, levelPack.getTheme());
|
||||
scene.loadLevel(level, levelPack.getWorld());
|
||||
player = scene.getPlayer();
|
||||
if (viewManager.isScreenSizeSet())
|
||||
viewManager.resetViews();
|
||||
viewManager.resetViews(user);
|
||||
currentTool = viewManager.toolButtonBar.getActiveButton().getToolType();
|
||||
viewManager.startCountdown();
|
||||
}
|
||||
@ -131,7 +130,6 @@ public class Game extends Rendering<GameScene> {
|
||||
public void setScreenSize(int width, int height) {
|
||||
Vector screenSize = new Vector(width, height);
|
||||
scene.setScreenSize(screenSize);
|
||||
viewManager.setScreenSize(screenSize);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -139,14 +137,11 @@ public class Game extends Rendering<GameScene> {
|
||||
particleSystem.update(timer);
|
||||
float playerProgress = 0;
|
||||
float playerSpeed = 0;
|
||||
float playerY = 0;
|
||||
if (player != null) {
|
||||
playerProgress = player.getProgress();
|
||||
playerSpeed = player.getSpeed();
|
||||
playerY = player.getPosition().y;
|
||||
}
|
||||
viewManager.update(gameState == GameState.RUNNING, timer, playerProgress, playerSpeed,
|
||||
playerY);
|
||||
viewManager.update(gameState == GameState.RUNNING, timer, playerProgress, playerSpeed);
|
||||
switch (gameState) {
|
||||
case RUNNING:
|
||||
if (player.getPosition().y < -2f) {
|
||||
@ -157,6 +152,7 @@ public class Game extends Rendering<GameScene> {
|
||||
onGoalReached();
|
||||
return;
|
||||
}
|
||||
scene.getCamera().update(player.getPosition().y, timer);
|
||||
|
||||
if (currentTutorial != null) {
|
||||
currentTutorial.update(playerProgress);
|
||||
@ -190,7 +186,7 @@ public class Game extends Rendering<GameScene> {
|
||||
}
|
||||
|
||||
public void resetViews() {
|
||||
viewManager.resetViews();
|
||||
viewManager.resetViews(user);
|
||||
}
|
||||
|
||||
public void continueGame() {
|
||||
@ -217,6 +213,8 @@ public class Game extends Rendering<GameScene> {
|
||||
}
|
||||
|
||||
public void tryToPause() {
|
||||
if(gameState == GameState.GAME_OVER || gameState == GameState.PAUSED)
|
||||
return;
|
||||
viewManager.showShortMenu();
|
||||
if (gameState == GameState.COUNTDOWN)
|
||||
viewManager.stopCountdown();
|
||||
|
@ -16,7 +16,7 @@ import com.example.julian.endlessroll.entities.tools.ToolType;
|
||||
import com.example.julian.endlessroll.levels.Level;
|
||||
import com.example.julian.endlessroll.levels.ObstacleData;
|
||||
import com.example.julian.endlessroll.levels.PositionData;
|
||||
import com.example.julian.endlessroll.levels.worlds.Theme;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
import com.example.julian.endlessroll.main.GameLog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -29,7 +29,7 @@ import java.util.List;
|
||||
*/
|
||||
public class GameScene extends Scene {
|
||||
|
||||
private Theme currentTheme;
|
||||
private World currentWorld;
|
||||
private CollisionDetector collisionDetector;
|
||||
private Goal goal;
|
||||
|
||||
@ -46,12 +46,12 @@ public class GameScene extends Scene {
|
||||
goal = new Goal(textures.goal);
|
||||
}
|
||||
|
||||
public void loadLevel(Level level, Theme theme) throws Exception {
|
||||
this.currentTheme = theme;
|
||||
public void loadLevel(Level level, World world) throws Exception {
|
||||
this.currentWorld = world;
|
||||
reset();
|
||||
background.changeTexture(theme.getBackgroundTexture());
|
||||
terrain.loadData(theme, level.getTerrainEdge(), level.getTerrainTiles());
|
||||
ceiling.loadData(theme, level.getCeilingEdge(), level.getCeilingTiles());
|
||||
background.changeTexture(world.getBackgroundTexture());
|
||||
terrain.loadData(world, level.getTerrainEdge(), level.getTerrainTiles());
|
||||
ceiling.loadData(world, level.getCeilingEdge(), level.getCeilingTiles());
|
||||
super.add(goal);
|
||||
player.init(terrain.getEdge(), level.getStartSpeed(), level.getEndSpeed());
|
||||
super.add(player);
|
||||
@ -81,7 +81,7 @@ public class GameScene extends Scene {
|
||||
obstacles.clear();
|
||||
tools.clear();
|
||||
energy = null;
|
||||
cameraX = 0;
|
||||
camera.reset();
|
||||
background.resetPosition();
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ public class GameScene extends Scene {
|
||||
}
|
||||
|
||||
public void addObstacle(ObstacleData data) {
|
||||
Obstacle obstacle = new Obstacle(currentTheme, data, terrain.getEdge());
|
||||
Obstacle obstacle = new Obstacle(currentWorld, data, terrain.getEdge());
|
||||
super.add(obstacle);
|
||||
obstacles.add(obstacle);
|
||||
}
|
||||
|
@ -16,7 +16,6 @@ import com.example.julian.endlessroll.entities.tileLists.Terrain;
|
||||
import com.example.julian.endlessroll.entities.tileLists.Tile;
|
||||
import com.example.julian.endlessroll.entities.tools.Bomb;
|
||||
import com.example.julian.endlessroll.entities.tools.Tool;
|
||||
import com.example.julian.endlessroll.main.GameLog;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@ -36,7 +35,7 @@ public class Physics {
|
||||
}
|
||||
|
||||
public void applyGravity(GameScene scene, Timer timer) {
|
||||
float gravity = GRAVITY_FORCE * timer.getFrameTime();
|
||||
float gravity = GRAVITY_FORCE * timer.getFrameTimeSeconds();
|
||||
|
||||
scene.getPlayer().getMovement().y -= gravity;
|
||||
synchronized (scene.getTools()) {
|
||||
|
@ -11,7 +11,7 @@ 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.Theme;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
@ -20,8 +20,7 @@ import java.util.Iterator;
|
||||
*/
|
||||
public abstract class Scene extends SynchronizedArrayList<Entity> {
|
||||
|
||||
public float cameraX;
|
||||
|
||||
protected Camera camera;
|
||||
private Vector screenSize;
|
||||
private Entity playerArrow;
|
||||
|
||||
@ -35,10 +34,11 @@ public abstract class Scene extends SynchronizedArrayList<Entity> {
|
||||
public Scene(TexturePack texturePack, ParticleSystem particleSystem) {
|
||||
this.particleSystem = particleSystem;
|
||||
setTexturePack(texturePack);
|
||||
camera = new Camera();
|
||||
playerArrow = new Entity(textures.playerArrow, new Vector(0, 0.9f), .2f, .2f);
|
||||
background = new Background(Theme.GRASSLANDS.getBackgroundTexture());
|
||||
terrain = new Terrain(Theme.GRASSLANDS.getTerrainTexture());
|
||||
ceiling = new Ceiling(Theme.GRASSLANDS.getTerrainTexture());
|
||||
background = new Background(World.GRASSLANDS.getBackgroundTexture());
|
||||
terrain = new Terrain(World.GRASSLANDS.getTerrainTexture());
|
||||
ceiling = new Ceiling(World.GRASSLANDS.getTerrainTexture());
|
||||
player = new Player(textures.player);
|
||||
}
|
||||
|
||||
@ -54,26 +54,27 @@ public abstract class Scene extends SynchronizedArrayList<Entity> {
|
||||
if(entity instanceof AnimatedEntity)
|
||||
((AnimatedEntity) entity).update(timer);
|
||||
Vector movement = entity.getMovement();
|
||||
Vector finalMovement = new Vector(movement).mul(timer.getFrameTime());
|
||||
Vector finalMovement = new Vector(movement).mul(timer.getFrameTimeSeconds());
|
||||
entity.move(finalMovement);
|
||||
if (entity instanceof Obstacle) {
|
||||
Obstacle obstacle = (Obstacle) entity;
|
||||
if (obstacle.isMoving())
|
||||
obstacle.moveWithMoveComponent(timer.getFrameTime());
|
||||
obstacle.moveWithMoveComponent(timer.getFrameTimeSeconds());
|
||||
}
|
||||
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))
|
||||
moveEnviroment(finalMovement.x);
|
||||
else if (entity.getRightEdge() - cameraX < -3f || entity.isDestroyed()) {
|
||||
else if (entity.getRightEdge() - camera.getX() < -3f || entity.isDestroyed()) {
|
||||
iterator.remove();
|
||||
removeEntityFromAllLists(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (player.getPosition().y >= player.RADIUS + 1) {
|
||||
if (player.getPosition().y >= player.RADIUS + 1 + camera.getY()) {
|
||||
playerArrow.getPosition().x = player.getPosition().x;
|
||||
playerArrow.getPosition().y = camera.getY() + 0.9f;
|
||||
if (!super.contains(playerArrow)) {
|
||||
super.add(playerArrow);
|
||||
}
|
||||
@ -89,10 +90,10 @@ public abstract class Scene extends SynchronizedArrayList<Entity> {
|
||||
protected abstract void removeEntityFromAllLists(Entity entity);
|
||||
|
||||
private void moveEnviroment(float x) {
|
||||
cameraX += x;
|
||||
background.move(x * 0.95f, cameraX);
|
||||
terrain.update(cameraX);
|
||||
ceiling.update(cameraX);
|
||||
camera.moveX(x);
|
||||
background.move(x * 0.95f, camera.getX());
|
||||
terrain.update(camera.getX());
|
||||
ceiling.update(camera.getX());
|
||||
}
|
||||
|
||||
protected Vector calcWorldFromScreenCoords(float screenX, float screenY) throws Exception {
|
||||
@ -100,7 +101,7 @@ public abstract class Scene extends SynchronizedArrayList<Entity> {
|
||||
throw new Exception("ScreenSize not set");
|
||||
float glCoordWidth = (2f * screenSize.x / screenSize.y);
|
||||
float x = ((screenX / screenSize.x) * 2f - 1f) * glCoordWidth / 2;
|
||||
x += cameraX;
|
||||
x += camera.getX();
|
||||
float y = -((screenY / screenSize.y) * 2f - 1f);
|
||||
return new Vector(x, y);
|
||||
}
|
||||
@ -132,4 +133,8 @@ public abstract class Scene extends SynchronizedArrayList<Entity> {
|
||||
public ParticleSystem getParticleSystem() {
|
||||
return particleSystem;
|
||||
}
|
||||
|
||||
public Camera getCamera() {
|
||||
return camera;
|
||||
}
|
||||
}
|
||||
|
@ -3,13 +3,13 @@ package com.example.julian.endlessroll.main.game;
|
||||
import com.example.julian.endlessroll.entities.Entity;
|
||||
import com.example.julian.endlessroll.entities.particles.ParticleSystem;
|
||||
import com.example.julian.endlessroll.entities.textures.TexturePack;
|
||||
import com.example.julian.endlessroll.levels.worlds.Theme;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
|
||||
public class StartScene extends Scene {
|
||||
|
||||
public StartScene(TexturePack texturePack, ParticleSystem particleSystem) {
|
||||
super(texturePack, particleSystem);
|
||||
terrain.createEndless(Theme.ICY_MOUNTAINS, -.8f);
|
||||
terrain.createEndless(World.ICY_MOUNTAINS, -.8f);
|
||||
player.init(terrain.getEdge(), 0.5f, 0.5f);
|
||||
super.add(player);
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public class Timer {
|
||||
}
|
||||
}
|
||||
|
||||
public float getFrameTime() {
|
||||
public float getFrameTimeSeconds() {
|
||||
return delta;
|
||||
}
|
||||
|
||||
|
@ -83,7 +83,7 @@ public class StartScreen extends GLScreen<RelativeLayout> implements View.OnClic
|
||||
// user.setStarCount(100);
|
||||
levelManager.unlockAllLevels();
|
||||
levelManager.unlockAllPacks();
|
||||
user.gainEp(75);
|
||||
user.gainEp(90);
|
||||
} else if (v.equals(lvUp)) {
|
||||
user.gainEp(100);
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import android.opengl.Matrix;
|
||||
|
||||
import com.example.julian.endlessroll.data.Vector;
|
||||
import com.example.julian.endlessroll.entities.Entity;
|
||||
import com.example.julian.endlessroll.main.game.Camera;
|
||||
|
||||
/**
|
||||
* Created by Julian on 23.11.2015.
|
||||
@ -17,13 +18,13 @@ public class MatrixCreator {
|
||||
this.height = height;
|
||||
}
|
||||
|
||||
public float[] createModelViewProjectionMatrix(float cameraX) {
|
||||
public float[] createModelViewProjectionMatrix(Camera camera) {
|
||||
float[] mvpMatrix = new float[16];
|
||||
float[] projectionMatrix = new float[16];
|
||||
float[] viewMatrix = new float[16];
|
||||
|
||||
float ratio = width / height;
|
||||
Matrix.frustumM(projectionMatrix, 0, -ratio + cameraX, ratio + cameraX, -1, 1, 1, 2);
|
||||
Matrix.frustumM(projectionMatrix, 0, -ratio + camera.getX(), ratio + camera.getX(), -1 + camera.getY(), 1 + camera.getY(), 1, 2);
|
||||
Matrix.setLookAtM(viewMatrix, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0);
|
||||
Matrix.multiplyMM(mvpMatrix, 0, projectionMatrix, 0, viewMatrix, 0);
|
||||
return mvpMatrix;
|
||||
|
@ -113,7 +113,7 @@ public class GameRenderer implements GLSurfaceView.Renderer {
|
||||
|
||||
private void renderEntities(GL10 gl, Scene scene) {
|
||||
entityShader.start();
|
||||
entityShader.loadMVPMatrix(matrixCreator, scene.cameraX);
|
||||
entityShader.loadMVPMatrix(matrixCreator, scene.getCamera());
|
||||
synchronized (scene.getBackground()) {
|
||||
for (Entity backgroundPart : scene.getBackground())
|
||||
renderEntity(gl, backgroundPart);
|
||||
@ -131,12 +131,15 @@ public class GameRenderer implements GLSurfaceView.Renderer {
|
||||
entityShader.loadTransformationMatrix(matrixCreator, entity);
|
||||
entityShader.loadAlpha(entity.getAlpha());
|
||||
entityShader.loadTextureAtlasInfos(entity.getTexture(), entity.getTextureAtlasIndex());
|
||||
float texScaleX = entity.getMaxTexSize().x == 0 ? 1 : entity.getWidth() / entity.getMaxTexSize().x;
|
||||
float texScaleY = entity.getMaxTexSize().y == 0 ? 1 : entity.getHeight() / entity.getMaxTexSize().y;
|
||||
entityShader.loadTexCoordScaling(texScaleX, texScaleY);
|
||||
quad.draw();
|
||||
}
|
||||
|
||||
private void renderTileList(GL10 gl, TileList tileList, Scene scene) {
|
||||
terrainShader.start();
|
||||
terrainShader.loadMVPMatrix(matrixCreator, scene.cameraX);
|
||||
terrainShader.loadMVPMatrix(matrixCreator, scene.getCamera());
|
||||
synchronized (tileList) {
|
||||
for (Tile tile : tileList) {
|
||||
gl.glActiveTexture(GL10.GL_TEXTURE0);
|
||||
|
@ -47,7 +47,7 @@ public class ParticleRenderer {
|
||||
GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT);
|
||||
|
||||
particleShader.start();
|
||||
particleShader.loadMVPMatrix(matrixCreator, scene.cameraX);
|
||||
particleShader.loadMVPMatrix(matrixCreator, scene.getCamera());
|
||||
synchronized (scene.getParticleSystem().getEffects()) {
|
||||
for (ParticleEffect effect : scene.getParticleSystem().getEffects()) {
|
||||
gl.glActiveTexture(GL10.GL_TEXTURE0);
|
||||
|
@ -3,8 +3,10 @@ package com.example.julian.endlessroll.rendering.shader;
|
||||
import android.content.Context;
|
||||
import android.opengl.GLES20;
|
||||
|
||||
import com.example.julian.endlessroll.data.Vector;
|
||||
import com.example.julian.endlessroll.entities.Entity;
|
||||
import com.example.julian.endlessroll.entities.textures.Texture;
|
||||
import com.example.julian.endlessroll.main.game.Camera;
|
||||
import com.example.julian.endlessroll.rendering.MatrixCreator;
|
||||
|
||||
/**
|
||||
@ -17,6 +19,7 @@ public class EntityShader extends ShaderProgram {
|
||||
private int location_alpha;
|
||||
private int location_texAtlasSize;
|
||||
private int location_texAtlasIndex;
|
||||
private int location_texCoordScaling;
|
||||
|
||||
public EntityShader(Context context) throws Exception {
|
||||
super(context, "shader/entityVertexShader.glsl", "shader/entityFragmentShader.glsl");
|
||||
@ -29,10 +32,11 @@ public class EntityShader extends ShaderProgram {
|
||||
location_alpha = super.getUniformLocation("alpha");
|
||||
location_texAtlasSize = super.getUniformLocation("texAtlasSize");
|
||||
location_texAtlasIndex = super.getUniformLocation("texAtlasIndex");
|
||||
location_texCoordScaling = super.getUniformLocation("texCoordScaling");
|
||||
}
|
||||
|
||||
public void loadMVPMatrix(MatrixCreator matrixCreator, float cameraX) {
|
||||
float[] mvpMatrix = matrixCreator.createModelViewProjectionMatrix(cameraX);
|
||||
public void loadMVPMatrix(MatrixCreator matrixCreator, Camera camera) {
|
||||
float[] mvpMatrix = matrixCreator.createModelViewProjectionMatrix(camera);
|
||||
GLES20.glUniformMatrix4fv(location_mvpMatrix, 1, false, mvpMatrix, 0);
|
||||
}
|
||||
|
||||
@ -49,4 +53,9 @@ public class EntityShader extends ShaderProgram {
|
||||
GLES20.glUniform2f(location_texAtlasSize, texture.getAtlasWidth(), texture.getAtlasHeight());
|
||||
GLES20.glUniform1f(location_texAtlasIndex, atlasIndex);
|
||||
}
|
||||
|
||||
public void loadTexCoordScaling(float scalingX, float scalingY){
|
||||
GLES20.glUniform2f(location_texCoordScaling, scalingX, scalingY);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import android.opengl.GLES20;
|
||||
|
||||
import com.example.julian.endlessroll.data.Color;
|
||||
import com.example.julian.endlessroll.entities.Entity;
|
||||
import com.example.julian.endlessroll.main.game.Camera;
|
||||
import com.example.julian.endlessroll.rendering.MatrixCreator;
|
||||
|
||||
/**
|
||||
@ -27,8 +28,8 @@ public class ParticleShader extends ShaderProgram {
|
||||
location_color = super.getUniformLocation("color");
|
||||
}
|
||||
|
||||
public void loadMVPMatrix(MatrixCreator matrixCreator, float cameraX) {
|
||||
float[] mvpMatrix = matrixCreator.createModelViewProjectionMatrix(cameraX);
|
||||
public void loadMVPMatrix(MatrixCreator matrixCreator, Camera camera) {
|
||||
float[] mvpMatrix = matrixCreator.createModelViewProjectionMatrix(camera);
|
||||
GLES20.glUniformMatrix4fv(location_mvpMatrix, 1, false, mvpMatrix, 0);
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,7 @@ import android.content.Context;
|
||||
import android.opengl.GLES20;
|
||||
|
||||
import com.example.julian.endlessroll.entities.Entity;
|
||||
import com.example.julian.endlessroll.main.game.Camera;
|
||||
import com.example.julian.endlessroll.rendering.MatrixCreator;
|
||||
|
||||
/**
|
||||
@ -24,8 +25,8 @@ public class TerrainShader extends ShaderProgram {
|
||||
location_transformationMatrix = super.getUniformLocation("transformationMatrix");
|
||||
}
|
||||
|
||||
public void loadMVPMatrix(MatrixCreator matrixCreator, float cameraX) {
|
||||
float[] mvpMatrix = matrixCreator.createModelViewProjectionMatrix(cameraX);
|
||||
public void loadMVPMatrix(MatrixCreator matrixCreator, Camera camera) {
|
||||
float[] mvpMatrix = matrixCreator.createModelViewProjectionMatrix(camera);
|
||||
GLES20.glUniformMatrix4fv(location_mvpMatrix, 1, false, mvpMatrix, 0);
|
||||
}
|
||||
|
||||
|
@ -40,11 +40,11 @@ public class ToolSlotSettings extends ArrayList<ToolSlot> {
|
||||
}
|
||||
|
||||
public int getLockedSlotCount() {
|
||||
for (int i = super.size() - 1; i > 0; i--) {
|
||||
if (!super.get(i).isLocked())
|
||||
return i + 1;
|
||||
}
|
||||
return 0;
|
||||
int count = 0;
|
||||
for (ToolSlot slot : this)
|
||||
if(slot.isLocked())
|
||||
count ++;
|
||||
return count;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.example.julian.endlessroll.user;
|
||||
|
||||
import com.example.julian.endlessroll.main.GameLog;
|
||||
|
||||
/**
|
||||
* Created by Julian on 10.07.2016.
|
||||
*/
|
||||
|
@ -8,6 +8,7 @@ import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.example.julian.endlessroll.R;
|
||||
import com.example.julian.endlessroll.main.GameLog;
|
||||
import com.example.julian.endlessroll.user.ToolSlotSettings;
|
||||
import com.example.julian.endlessroll.entities.tools.ToolType;
|
||||
import com.example.julian.endlessroll.main.game.Game;
|
||||
@ -36,7 +37,6 @@ public class ToolButtonBar implements View.OnClickListener, Animation.AnimationL
|
||||
|
||||
private Animation fadeIn, fadeOut;
|
||||
private Game game;
|
||||
private ToolSlotSettings toolSlotSettings;
|
||||
private List<ToolButton> buttons = new ArrayList<>(4);
|
||||
private RelativeLayout button1;
|
||||
private RelativeLayout button2;
|
||||
@ -46,7 +46,6 @@ public class ToolButtonBar implements View.OnClickListener, Animation.AnimationL
|
||||
|
||||
public ToolButtonBar(Game game, ToolSlotSettings toolSlotSettings, LinearLayout layout1) {
|
||||
this.game = game;
|
||||
this.toolSlotSettings = toolSlotSettings;
|
||||
Context context = game.getContext();
|
||||
fadeIn = AnimationUtils.loadAnimation(game.getContext(), R.anim.fade_in);
|
||||
fadeIn.setAnimationListener(this);
|
||||
@ -80,14 +79,15 @@ public class ToolButtonBar implements View.OnClickListener, Animation.AnimationL
|
||||
button4.startAnimation(fadeOut);
|
||||
}
|
||||
|
||||
public void changeToolButtonTypes() {
|
||||
public void changeToolButtonTypes(ToolSlotSettings toolSlotSettings) {
|
||||
for (int i = 0; i < 4; i++) {
|
||||
buttons.get(i).changeToolSlot(toolSlotSettings.get(i));
|
||||
}
|
||||
}
|
||||
|
||||
public void reset() {
|
||||
changeToolButtonTypes();
|
||||
public void reset(ToolSlotSettings toolSlotSettings) {
|
||||
GameLog.i("Reset toolbuttonBar");
|
||||
changeToolButtonTypes(toolSlotSettings);
|
||||
for (int i = 0; i < 4; i++) {
|
||||
if (toolSlotSettings.get(i).getToolType() != ToolType.NONE) {
|
||||
setActive(i);
|
||||
|
@ -10,15 +10,16 @@ import android.widget.TextView;
|
||||
import com.example.julian.endlessroll.R;
|
||||
import com.example.julian.endlessroll.data.Vector;
|
||||
import com.example.julian.endlessroll.main.GameHandler;
|
||||
import com.example.julian.endlessroll.main.game.Camera;
|
||||
import com.example.julian.endlessroll.main.game.Game;
|
||||
import com.example.julian.endlessroll.main.game.Timer;
|
||||
import com.example.julian.endlessroll.user.User;
|
||||
|
||||
/**
|
||||
* Created by Julian on 11.12.2015.
|
||||
*/
|
||||
public class ViewManager implements View.OnClickListener {
|
||||
|
||||
private Vector screenSize;
|
||||
private GameHandler gameViewHandler;
|
||||
private Game game;
|
||||
|
||||
@ -52,24 +53,16 @@ public class ViewManager implements View.OnClickListener {
|
||||
fpsView = (TextView) layout.findViewById(R.id.game_fps);
|
||||
}
|
||||
|
||||
public void setScreenSize(Vector screenSize) {
|
||||
this.screenSize = screenSize;
|
||||
}
|
||||
|
||||
public boolean isScreenSizeSet() {
|
||||
return screenSize != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
game.tryToPause();
|
||||
}
|
||||
|
||||
public void resetViews() {
|
||||
public void resetViews(final User user) {
|
||||
gameViewHandler.startInUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
toolButtonBar.reset();
|
||||
toolButtonBar.reset(user.getToolSlotSettings());
|
||||
toolButtonBar.update(0);
|
||||
playerProgress.setText("0.0m");
|
||||
playerSpeed.setText("0.0m/s");
|
||||
@ -104,7 +97,7 @@ public class ViewManager implements View.OnClickListener {
|
||||
countdown.stop();
|
||||
}
|
||||
|
||||
public void update(final boolean gameRunning, final Timer timer, final float playerX, final float playerXMov, final float playerY) {
|
||||
public void update(final boolean gameRunning, final Timer timer, final float playerX, final float playerXMov) {
|
||||
gameViewHandler.startInUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@ -112,7 +105,7 @@ public class ViewManager implements View.OnClickListener {
|
||||
if (gameRunning) {
|
||||
playerProgress.setText(toMeters(playerX) + "m");
|
||||
playerSpeed.setText(toMeters(playerXMov * 1000) + "m/s");
|
||||
toolButtonBar.update(timer.getFrameTime());
|
||||
toolButtonBar.update(timer.getFrameTimeSeconds());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -10,7 +10,7 @@ import android.widget.TextView;
|
||||
|
||||
import com.example.julian.endlessroll.R;
|
||||
import com.example.julian.endlessroll.levels.LevelPack;
|
||||
import com.example.julian.endlessroll.levels.worlds.Theme;
|
||||
import com.example.julian.endlessroll.levels.worlds.World;
|
||||
|
||||
/**
|
||||
* Created by Julian on 01.08.2016.
|
||||
@ -18,7 +18,7 @@ import com.example.julian.endlessroll.levels.worlds.Theme;
|
||||
public class WorldButton extends RelativeLayout {
|
||||
|
||||
private LevelPack levelPack;
|
||||
private Theme theme;
|
||||
private World world;
|
||||
|
||||
private TextView title;
|
||||
private ImageView previewImage;
|
||||
@ -30,7 +30,7 @@ public class WorldButton extends RelativeLayout {
|
||||
public WorldButton(Context context, Typeface typeface, View.OnClickListener clickListener, LevelPack levelPack) {
|
||||
super(context);
|
||||
this.levelPack = levelPack;
|
||||
this.theme = levelPack.getTheme();
|
||||
this.world = levelPack.getWorld();
|
||||
|
||||
LayoutInflater inflater = LayoutInflater.from(context);
|
||||
inflater.inflate(R.layout.world_button, this);
|
||||
@ -52,7 +52,7 @@ public class WorldButton extends RelativeLayout {
|
||||
|
||||
public void updateInformation() {
|
||||
title.setText(levelPack.getName());
|
||||
previewImage.setImageDrawable(getContext().getResources().getDrawable(theme.getPreviewId()));
|
||||
previewImage.setImageDrawable(getContext().getResources().getDrawable(world.getPreviewId()));
|
||||
levelCount.setText(levelPack.getFinishedLevelCount() + "/" + levelPack.getLevels().size());
|
||||
starCount.setText(levelPack.getCollectedStarCount() + "/" + levelPack.getAvailableStars());
|
||||
energyCount.setText(levelPack.getCollectedEnergyCount() + "/" + levelPack.getAvailableEnergy());
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 278 B |
@ -51,6 +51,6 @@
|
||||
android:layout_marginLeft="48dp"
|
||||
android:layout_marginStart="48dp"
|
||||
android:text="Lv to 100"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="visible"/>
|
||||
|
||||
</RelativeLayout>
|
@ -5,7 +5,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:2.3.1'
|
||||
classpath 'com.android.tools.build:gradle:2.3.2'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
Loading…
x
Reference in New Issue
Block a user