Fixed bugs

This commit is contained in:
= 2018-01-14 10:53:48 +01:00
parent 5550543b77
commit 9175fc33a4
6 changed files with 49 additions and 51 deletions

View File

@ -9,8 +9,8 @@ android {
applicationId 'de.frajul.endlessroll'
minSdkVersion 12
targetSdkVersion 23
versionCode 3
versionName '0.3.1'
versionCode 4
versionName '0.4.0'
}
buildTypes {
release {

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.frajul.endlessroll"
android:versionCode="3"
android:versionName="0.3.1" >
android:versionCode="4"
android:versionName="0.4.0" >
<uses-sdk
android:minSdkVersion="12"

View File

@ -162,8 +162,8 @@
<tileData x="-1.6967497" width="2.6065006"/>
<tileData x="4.180088" width="1.1731749"/>
<tileData x="15.665028" width="1.7966995"/>
<tileData x="18.417282" width="2.5078144"/>
<tileData x="28.989388" width="8.214399"/>
<tileData x="18.417282" width="2.5078125"/>
<tileData x="28.989388" width="8.214401"/>
</terrainTiles>
<ceilingTiles class="java.util.ArrayList">
<tileData x="8.863336" width="23.726671"/>
@ -182,32 +182,26 @@
<obstacleData floating="true" moving="false" deadly="true" leftEdge="7.790513" rightEdge="8.249513" height="0.255" y="-0.41999993">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="8.390855" rightEdge="9.995854" height="0.268" y="0.43333322">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="8.390855" rightEdge="9.995854" height="0.268" y="0.37999994">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="true" deadly="false" leftEdge="10.046182" rightEdge="10.6071825" height="0.548" y="0.43999988">
<obstacleData floating="true" moving="true" deadly="false" leftEdge="10.032847" rightEdge="10.593848" height="0.548" y="0.4933332">
<moveComponent length="2.99" rotation="90.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="true" triggerDistance="-0.393"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="11.534539" rightEdge="12.145539" height="0.369" y="-0.49333328">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="14.576048" rightEdge="16.84405" height="0.344" y="0.5399999">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="14.4227085" rightEdge="16.69071" height="0.344" y="0.5399999">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="17.023209" rightEdge="18.73021" height="0.242" y="-0.26666662">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="17.143206" rightEdge="18.850206" height="0.242" y="-0.46666655">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="false" moving="false" deadly="true" leftEdge="17.642849" rightEdge="18.20385" height="0.166" y="-0.517">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="19.180454" rightEdge="19.919453" height="0.777" y="0.1666666">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="false" moving="false" deadly="true" leftEdge="18.332848" rightEdge="18.993847" height="0.191" y="-0.50450003">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="19.080456" rightEdge="19.819454" height="0.777" y="0.046666622">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="true" deadly="false" leftEdge="19.897995" rightEdge="21.961994" height="0.191" y="-0.7866664">
<moveComponent length="1.649" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.472" hasPlayerXSpeed="false" triggerDistance="0.0"/>
<obstacleData floating="true" moving="true" deadly="false" leftEdge="19.897995" rightEdge="21.961994" height="0.191" y="-0.87999964">
<moveComponent length="1.804" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.472" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="true" deadly="false" leftEdge="22.333464" rightEdge="24.626463" height="0.191" y="-0.7999999">
<moveComponent length="1.675" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.306" hasPlayerXSpeed="false" triggerDistance="0.0"/>
@ -218,77 +212,77 @@
</obstacles>
<stars class="java.util.ArrayList">
<positionData x="8.313339" y="-0.6133333"/>
<positionData x="9.153345" y="0.73999983"/>
<positionData x="9.186681" y="0.65333325"/>
<positionData x="14.440009" y="-0.44000006"/>
</stars>
<energy x="22.146631" y="-0.24666664"/>
</level>
<level packId="2" id="4" goalX="29.760025" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
<level packId="2" id="4" goalX="30.146698" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
<terrainTiles class="java.util.ArrayList">
<tileData x="-0.77800035" width="4.4439993"/>
<tileData x="7.8180113" width="4.604025"/>
<tileData x="11.331698" width="1.2233505"/>
<tileData x="13.183382" width="1.2800179"/>
<tileData x="15.893645" width="2.9405117"/>
<tileData x="19.537718" width="3.629631"/>
<tileData x="26.777042" width="4.899023"/>
<tileData x="-0.5846672" width="4.8306656"/>
<tileData x="8.204681" width="4.6040335"/>
<tileData x="11.718373" width="1.2233505"/>
<tileData x="13.570057" width="1.2800179"/>
<tileData x="16.28032" width="2.9405098"/>
<tileData x="19.92439" width="3.629631"/>
<tileData x="27.163715" width="4.899025"/>
</terrainTiles>
<ceilingTiles class="java.util.ArrayList">
<tileData x="13.3800125" width="32.760025"/>
<tileData x="13.573349" width="33.146698"/>
</ceilingTiles>
<obstacles class="java.util.ArrayList">
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.0356662" rightEdge="1.6976664" height="0.599" y="-0.30050004">
<obstacleData floating="false" moving="false" deadly="false" leftEdge="1.4223325" rightEdge="2.0843327" height="0.599" y="-0.30050004">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="1.9989979" rightEdge="2.380998" height="0.561" y="-0.4666667">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.3856642" rightEdge="2.7676642" height="0.561" y="-0.4666667">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="2.6224985" rightEdge="3.1574984" height="0.5" y="-0.6066667">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="3.0091648" rightEdge="3.5441647" height="0.5" y="-0.6066667">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="3.3799977" rightEdge="3.8799977" height="0.5" y="-0.8066666">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="3.766664" rightEdge="4.266664" height="0.5" y="-0.8066666">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.220012" rightEdge="8.720012" height="0.318" y="-0.44100004">
<obstacleData floating="false" moving="false" deadly="false" leftEdge="8.606687" rightEdge="9.106687" height="0.318" y="-0.44100004">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="true" deadly="false" leftEdge="10.173364" rightEdge="10.673364" height="0.5" y="-0.35666674">
<obstacleData floating="true" moving="true" deadly="false" leftEdge="10.560039" rightEdge="11.060039" height="0.5" y="-0.35666674">
<moveComponent length="1.959" rotation="0.0" startOffset="0.301" direction="1.0" speed="0.467" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="true" deadly="false" leftEdge="11.9867115" rightEdge="12.4867115" height="0.5" y="0.39999986">
<obstacleData floating="true" moving="true" deadly="false" leftEdge="12.373386" rightEdge="12.873386" height="0.5" y="0.39999986">
<moveComponent length="1.985" rotation="0.0" startOffset="0.697" direction="1.0" speed="0.29" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="true" deadly="true" leftEdge="13.850054" rightEdge="14.350054" height="0.5" y="-0.006666666">
<obstacleData floating="true" moving="true" deadly="true" leftEdge="14.236729" rightEdge="14.736729" height="0.5" y="-0.006666666">
<moveComponent length="1.856" rotation="0.0" startOffset="0.462" direction="1.0" speed="0.548" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="false" moving="false" deadly="false" leftEdge="17.733902" rightEdge="18.752903" height="0.382" y="-0.40900004">
<obstacleData floating="false" moving="false" deadly="false" leftEdge="18.120575" rightEdge="19.139576" height="0.382" y="-0.40900004">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="false" moving="false" deadly="false" leftEdge="19.775383" rightEdge="21.151382" height="0.382" y="-0.40900004">
<obstacleData floating="false" moving="false" deadly="false" leftEdge="20.162056" rightEdge="21.538055" height="0.382" y="-0.40900004">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="21.500854" rightEdge="22.545853" height="0.293" y="-0.59333324">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="21.887527" rightEdge="22.932526" height="0.293" y="-0.59333324">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="true" leftEdge="22.602682" rightEdge="23.010683" height="0.395" y="-0.5199999">
<obstacleData floating="true" moving="false" deadly="true" leftEdge="22.989355" rightEdge="23.397356" height="0.395" y="-0.5199999">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="23.040468" rightEdge="24.05947" height="0.306" y="-0.38666672">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="23.427141" rightEdge="24.446142" height="0.306" y="-0.38666672">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="false" moving="false" deadly="false" leftEdge="27.109777" rightEdge="28.816778" height="0.331" y="-0.43450004">
<obstacleData floating="false" moving="false" deadly="false" leftEdge="27.49645" rightEdge="29.203451" height="0.331" y="-0.43450004">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
<obstacleData floating="true" moving="false" deadly="false" leftEdge="28.623428" rightEdge="29.056427" height="0.548" y="0.0333333">
<obstacleData floating="true" moving="false" deadly="false" leftEdge="29.010101" rightEdge="29.4431" height="0.548" y="0.0333333">
<moveComponent length="0.0" rotation="0.0" startOffset="0.0" direction="1.0" speed="0.0" hasPlayerXSpeed="false" triggerDistance="0.0"/>
</obstacleData>
</obstacles>
<stars class="java.util.ArrayList">
<positionData x="4.706664" y="0.11333333"/>
<positionData x="12.24671" y="-0.020000003"/>
<positionData x="19.266724" y="-0.43333328"/>
<positionData x="5.0933304" y="0.11333333"/>
<positionData x="12.633385" y="-0.020000003"/>
<positionData x="19.653397" y="-0.43333328"/>
</stars>
<energy x="29.023233" y="-0.42666665"/>
<energy x="29.409906" y="-0.42666665"/>
</level>
<level packId="2" id="5" goalX="29.693392" startSpeed="0.5" endSpeed="0.5" terrainEdge="-0.6" ceilingEdge="1.0">
<terrainTiles class="java.util.ArrayList">

View File

@ -160,7 +160,7 @@ public class CollisionDetector {
}
private Edge circlePartlyOutsideQuadCollisionEdge(Circle circle, Vector circleMovement, Quad quad, Vector quadMovement) {
Vector relativeMovement = circleMovement.translate(quadMovement.negate());
Vector relativeMovement = new Vector(circleMovement).translate(quadMovement.negate());
Edge edge = Edge.NONE;
if (circle.getCenter().getY() + circle.getRadius() >= quad.getTopEdge())
@ -215,7 +215,7 @@ public class CollisionDetector {
}
private Edge circleCenterInQuadCollisionEdge(Circle circle, Vector circleMovement, Quad quad, Vector quadMovement) {
Vector relativeMovement = circleMovement.translate(quadMovement.negate());
Vector relativeMovement = new Vector(circleMovement).translate(quadMovement.negate());
float m = relativeMovement.getY() / relativeMovement.getX();
float t = circle.getCenter().getY() - m * circle.getCenter().getX();

View File

@ -21,6 +21,7 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
private TopBar topBar;
private ToggleButton soundToggle;
private Button resetButton;
private boolean resetPressed = false;
private ConfirmDialog resetConfirmDialog;
@ -40,12 +41,13 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
topBar.update();
soundToggle.setChecked(gameActivity.getSoundManager().isSoundOn());
resetButton.setEnabled(super.caller != ScreenType.GAME);
resetPressed = false;
}
@Override
public void onBackKeyDown() {
//ResetButton is disabled if caller is GAME, because shortMenu or GoalMessage would still be visible on next level start
if (super.caller == ScreenType.LEVELS || super.caller == ScreenType.GAME) {
if (resetPressed && (super.caller == ScreenType.LEVELS || super.caller == ScreenType.GAME)) {
super.caller = ScreenType.WORLDS;
}
flipToCaller();
@ -65,6 +67,7 @@ public class SettingsScreen extends Screen<LinearLayout> implements View.OnClick
if (callId == CALL_ID_CONFIRM_RESET) {
gameActivity.resetData();
prepareToBeShown();
resetPressed = true;
}
}
}

View File

@ -105,6 +105,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
<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" />