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
.Assets
;
8 import ru
.deadsoftware
.cavecraft
.game
.GameWorld
;
10 public class Pig
extends Mob
{
12 private GameWorld world
;
14 public Pig(int x
, int y
, GameWorld world
) {
16 position
= new Vector2(x
, y
);
17 moveX
= new Vector2(0, 0);
18 moveY
= new Vector2(0, 0);
27 if (canJump
&& position
.x
>16 && position
.x
<(world
.getWidth()-1)*16 &&
28 world
.getForeMap((int)(position
.x
/16)+(dir
*2-1), (int)((position
.y
+height
)/16))>0 &&
29 world
.getForeMap((int)(position
.x
/16)+(dir
*2-1), (int)((position
.y
)/16))==0)
31 if (MathUtils
.randomBoolean(.0001f)) dir
++;
33 moveX
.set(-1.5f+3*dir
,0);
37 public void draw(SpriteBatch spriteBatch
, float x
, float y
) {
39 Assets
.pigSprite
[1][1].setPosition(x
-4+(9-dir
*9),y
+6);
40 Assets
.pigSprite
[1][1].draw(spriteBatch
);
41 Assets
.pigSprite
[1][1].setPosition(x
+17-(9*dir
),y
+6);
42 Assets
.pigSprite
[1][1].draw(spriteBatch
);
44 Assets
.pigSprite
[0][1].setPosition(x
-4+(9-dir
*9),y
+6);
45 Assets
.pigSprite
[0][1].draw(spriteBatch
);
46 Assets
.pigSprite
[0][1].setPosition(x
+17-(9*dir
),y
+6);
47 Assets
.pigSprite
[0][1].draw(spriteBatch
);
49 spriteBatch
.draw(Assets
.pigSprite
[dir
][0], x
, y
);
53 public Rectangle
getRect() {
54 return new Rectangle(position
.x
, position
.y
, width
, height
);