X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavedroid%2Fgame%2Fobjects%2FPlayer.java;h=11863b7c7122aa794d3d7a2714ce3347e16c79f1;hb=ef32f2e88b9c0daa411d0c304ce62b1235541fb1;hp=5fd04f902f2a99feee334803aad4c338849dd067;hpb=0a855ca3c1d0c84de41a928cc99fd8544a933015;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavedroid/game/objects/Player.java b/core/src/ru/deadsoftware/cavedroid/game/objects/Player.java index 5fd04f9..11863b7 100644 --- a/core/src/ru/deadsoftware/cavedroid/game/objects/Player.java +++ b/core/src/ru/deadsoftware/cavedroid/game/objects/Player.java @@ -1,10 +1,8 @@ package ru.deadsoftware.cavedroid.game.objects; import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; -import ru.deadsoftware.cavedroid.game.GameItems; import ru.deadsoftware.cavedroid.game.mobs.Mob; import ru.deadsoftware.cavedroid.misc.Assets; @@ -14,16 +12,15 @@ import static ru.deadsoftware.cavedroid.GameScreen.GP; public class Player extends Mob implements Serializable { - public int[] inv; - public int invSlot; - public int gameMode; + public final int[] inventory; + public int slot; + public final int gameMode; public boolean swim; public Player(int gameMode) { - super(0, 0, 4, 30, 1, true); + super(0, 0, 4, 30, 1); this.gameMode = gameMode; - inv = new int[9]; - pos = getSpawnPoint().cpy(); + inventory = new int[9]; swim = false; } @@ -40,13 +37,13 @@ public class Player extends Mob implements Serializable { GP.world.setForeMap(x, y, 1); break; } - if (GP.world.getForeMap(x, y) > 0 && GameItems.getBlock(GP.world.getForeMap(x, y)).hasCollision()) break; + if (GP.world.hasForeAt(x, y) && GP.world.getForeMapBlock(x, y).hasCollision()) break; } - return new Vector2(x * 16 + 8 - (float) getWidth() / 2, (float) y * 16 - getHeight()); + return new Vector2(x * 16 + 8 - getWidth() / 2, (float) y * 16 - getHeight()); } public void setDir(int dir) { - if (dir != getDir()) switchDir(); + if (dir != getDirection()) switchDir(); } @Override @@ -59,58 +56,36 @@ public class Player extends Mob implements Serializable { @Override public void draw(SpriteBatch spriteBatch, float x, float y) { - if (mov.x != 0 || Assets.plSprite[0][2].getRotation() != 0) { - Assets.plSprite[0][2].rotate(animDelta); - Assets.plSprite[1][2].rotate(-animDelta); - Assets.plSprite[0][3].rotate(-animDelta); - Assets.plSprite[1][3].rotate(animDelta); + if (mov.x != 0 || Assets.playerSprite[0][2].getRotation() != 0) { + Assets.playerSprite[0][2].rotate(animDelta); + Assets.playerSprite[1][2].rotate(-animDelta); + Assets.playerSprite[0][3].rotate(-animDelta); + Assets.playerSprite[1][3].rotate(animDelta); } else { - Assets.plSprite[0][2].setRotation(0); - Assets.plSprite[1][2].setRotation(0); - Assets.plSprite[0][3].setRotation(0); - Assets.plSprite[1][3].setRotation(0); + Assets.playerSprite[0][2].setRotation(0); + Assets.playerSprite[1][2].setRotation(0); + Assets.playerSprite[0][3].setRotation(0); + Assets.playerSprite[1][3].setRotation(0); } - if (Assets.plSprite[0][2].getRotation() >= 60 || Assets.plSprite[0][2].getRotation() <= -60) + if (Assets.playerSprite[0][2].getRotation() >= 60 || Assets.playerSprite[0][2].getRotation() <= -60) animDelta = -animDelta; //back hand - Assets.plSprite[1][2].setPosition(x - 6, y); - Assets.plSprite[1][2].draw(spriteBatch); + Assets.playerSprite[1][2].setPosition(x - 6, y); + Assets.playerSprite[1][2].draw(spriteBatch); //back leg - Assets.plSprite[1][3].setPosition(x - 6, y + 10); - Assets.plSprite[1][3].draw(spriteBatch); + Assets.playerSprite[1][3].setPosition(x - 6, y + 10); + Assets.playerSprite[1][3].draw(spriteBatch); //front leg - Assets.plSprite[0][3].setPosition(x - 6, y + 10); - Assets.plSprite[0][3].draw(spriteBatch); + Assets.playerSprite[0][3].setPosition(x - 6, y + 10); + Assets.playerSprite[0][3].draw(spriteBatch); //head - spriteBatch.draw(Assets.plSprite[getDir()][0], x - 2, y - 2); + spriteBatch.draw(Assets.playerSprite[getDirection()][0], x - 2, y - 2); //body - spriteBatch.draw(Assets.plSprite[getDir()][1], x - 2, y + 8); - //item in hand - if (inv[invSlot] > 0) { - float handRotation = MathUtils.degRad * Assets.plSprite[0][2].getRotation(); - switch (GameItems.getItem(inv[invSlot]).getType()) { - case 0: - Assets.blockTex[GameItems.getItem(inv[invSlot]).getTex()].setPosition( - x - 8 * MathUtils.sin(handRotation), - y + 6 + 8 * MathUtils.cos(handRotation)); - Assets.blockTex[GameItems.getItem(inv[invSlot]).getTex()].draw(spriteBatch); - break; - default: - Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].flip((getDir() == 0), false); - Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].setRotation( - -45 + getDir() * 90 + Assets.plSprite[0][2].getRotation()); - Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].setPosition( - x - 10 + (12 * getDir()) - 8 * MathUtils.sin(handRotation), - y + 2 + 8 * MathUtils.cos(handRotation)); - Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].draw(spriteBatch); - Assets.itemTex[GameItems.getItem(inv[invSlot]).getTex()].flip((getDir() == 0), false); - break; - } - } + spriteBatch.draw(Assets.playerSprite[getDirection()][1], x - 2, y + 8); //front hand - Assets.plSprite[0][2].setPosition(x - 6, y); - Assets.plSprite[0][2].draw(spriteBatch); + Assets.playerSprite[0][2].setPosition(x - 6, y); + Assets.playerSprite[0][2].draw(spriteBatch); } @Override