X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=core%2Fsrc%2Fru%2Fdeadsoftware%2Fcavecraft%2Fgame%2Fmobs%2FHuman.java;h=245d34960407d99c2aaf9231fd198d5e3766a282;hb=c9d399d3ae0b7f797d6fd62a4c22202a12a8825b;hp=318ea153be76b578418df085492bab1039a99659;hpb=083e40ac85e4aca2df81d1ca16c0a54561c3bd38;p=cavedroid.git diff --git a/core/src/ru/deadsoftware/cavecraft/game/mobs/Human.java b/core/src/ru/deadsoftware/cavecraft/game/mobs/Human.java index 318ea15..245d349 100644 --- a/core/src/ru/deadsoftware/cavecraft/game/mobs/Human.java +++ b/core/src/ru/deadsoftware/cavecraft/game/mobs/Human.java @@ -1,14 +1,18 @@ package ru.deadsoftware.cavecraft.game.mobs; +import com.badlogic.gdx.graphics.g2d.Sprite; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.RandomXS128; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector2; +import ru.deadsoftware.cavecraft.Assets; import ru.deadsoftware.cavecraft.game.GameProc; public class Human extends Mob{ private RandomXS128 rand = new RandomXS128(); private GameProc gameProc; + private Sprite[][] tex; public Human(int x, int y, GameProc gameProc) { this.gameProc = gameProc; @@ -17,8 +21,11 @@ public class Human extends Mob{ moveY = new Vector2(0, 0); width = 8; height = 30; - dir = 1; + dir = 0; canJump = false; + tex = Assets.playerSkin.clone(); + animation = 0; + anim_d = 1; } @Override @@ -32,6 +39,31 @@ public class Human extends Mob{ moveX.add(-2+4*dir, 0); } + @Override + public void draw(SpriteBatch spriteBatch, float x, float y) { + if (moveX.x!=0) { + animation+=Mob.ANIM_SPEED*anim_d; + if (animation<=-60 || animation>=60) anim_d=-anim_d; + } + tex[0][2].setRotation(animation); + tex[1][2].setRotation(-animation); + tex[0][3].setRotation(-animation); + tex[1][3].setRotation(animation); + spriteBatch.draw(tex[dir][0], x-2, y-2); + if (tex[0][2].getRotation()>=60 || tex[0][2].getRotation()<=-60) + Mob.ANIM_SPEED = -Mob.ANIM_SPEED; + tex[1][2].setPosition(x-6,y); + tex[1][2].draw(spriteBatch); + tex[1][3].setPosition(x-6, y+10); + tex[1][3].draw(spriteBatch); + tex[0][3].setPosition(x-6, y+10); + tex[0][3].draw(spriteBatch); + spriteBatch.draw(tex[dir][1], x-2, y + 8); + + tex[0][2].setPosition(x-6, y); + tex[0][2].draw(spriteBatch); + } + public Rectangle getRect() { return new Rectangle(position.x, position.y, width, height); }