diff --git a/core/src/ru/deadsoftware/cavecraft/game/mobs/Human.java b/core/src/ru/deadsoftware/cavecraft/game/mobs/Human.java
index 318ea153be76b578418df085492bab1039a99659..245d34960407d99c2aaf9231fd198d5e3766a282 100644 (file)
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;
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
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);
}