1 package ru
.deadsoftware
.cavecraft
.game
.mobs
;
3 import com
.badlogic
.gdx
.graphics
.g2d
.SpriteBatch
;
4 import com
.badlogic
.gdx
.math
.MathUtils
;
5 import com
.badlogic
.gdx
.math
.Rectangle
;
6 import com
.badlogic
.gdx
.math
.Vector2
;
7 import ru
.deadsoftware
.cavecraft
.misc
.Assets
;
9 public class Pig
extends Mob
{
11 public Pig(int x
, int y
) {
12 dir
= MathUtils
.random(1);
13 position
= new Vector2(x
, y
);
14 moveX
= new Vector2(-1 + dir
* 2, 0);
15 moveY
= new Vector2(0, 0);
23 public void changeDir() {
25 moveX
.set(-1 + 2 * dir
, 0);
30 if (MathUtils
.randomBoolean(.0025f)) changeDir();
31 else if (MathUtils
.randomBoolean(.0025f)) {
32 if (moveX
.x
!= 0f) moveX
.setZero();
33 else moveX
.set(-1 + 2 * dir
, 0);
35 if (moveX
.x
!= 0f) animation
+= ANIM_SPEED
;
37 if (animation
>= 60 || animation
<= -60) {
38 ANIM_SPEED
= -ANIM_SPEED
;
43 public void draw(SpriteBatch spriteBatch
, float x
, float y
) {
44 Assets
.pigSprite
[0][1].setRotation(animation
);
45 Assets
.pigSprite
[1][1].setRotation(-animation
);
47 Assets
.pigSprite
[1][1].setPosition(x
- 4 + (9 - dir
* 9), y
+ 6);
48 Assets
.pigSprite
[1][1].draw(spriteBatch
);
49 Assets
.pigSprite
[1][1].setPosition(x
+ 17 - (9 * dir
), y
+ 6);
50 Assets
.pigSprite
[1][1].draw(spriteBatch
);
52 Assets
.pigSprite
[0][1].setPosition(x
- 4 + (9 - dir
* 9), y
+ 6);
53 Assets
.pigSprite
[0][1].draw(spriteBatch
);
54 Assets
.pigSprite
[0][1].setPosition(x
+ 17 - (9 * dir
), y
+ 6);
55 Assets
.pigSprite
[0][1].draw(spriteBatch
);
57 spriteBatch
.draw(Assets
.pigSprite
[dir
][0], x
, y
);
61 public Rectangle
getRect() {
62 return new Rectangle(position
.x
, position
.y
, width
, height
);
66 public int getType() {