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 move
= new Vector2(-1 + dir
* 2, 0);
22 public void changeDir() {
24 move
.x
= -1 + 2 * dir
;
29 if (MathUtils
.randomBoolean(.0025f)) changeDir();
30 else if (MathUtils
.randomBoolean(.0025f)) {
31 if (move
.x
!= 0f) move
.x
= 0;
32 else move
.x
= -1 + 2 * dir
;
34 if (move
.x
!= 0f) animation
+= ANIM_SPEED
;
36 if (animation
>= 60 || animation
<= -60) {
37 ANIM_SPEED
= -ANIM_SPEED
;
42 public void draw(SpriteBatch spriteBatch
, float x
, float y
) {
43 Assets
.pigSprite
[0][1].setRotation(animation
);
44 Assets
.pigSprite
[1][1].setRotation(-animation
);
46 Assets
.pigSprite
[1][1].setPosition(x
- 4 + (9 - dir
* 9), y
+ 6);
47 Assets
.pigSprite
[1][1].draw(spriteBatch
);
48 Assets
.pigSprite
[1][1].setPosition(x
+ 17 - (9 * dir
), y
+ 6);
49 Assets
.pigSprite
[1][1].draw(spriteBatch
);
51 Assets
.pigSprite
[0][1].setPosition(x
- 4 + (9 - dir
* 9), y
+ 6);
52 Assets
.pigSprite
[0][1].draw(spriteBatch
);
53 Assets
.pigSprite
[0][1].setPosition(x
+ 17 - (9 * dir
), y
+ 6);
54 Assets
.pigSprite
[0][1].draw(spriteBatch
);
56 spriteBatch
.draw(Assets
.pigSprite
[dir
][0], x
, y
);
60 public Rectangle
getRect() {
61 return new Rectangle(position
.x
, position
.y
, width
, height
);
65 public int getType() {