10c4242429f221641c1e0ec501545b1311127350
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
.game
.GameWorld
;
8 import ru
.deadsoftware
.cavecraft
.misc
.Assets
;
9 import ru
.deadsoftware
.cavecraft
.game
.GameProc
;
11 public class Pig
extends Mob
{
13 public Pig(int x
, int y
) {
14 dir
= MathUtils
.random(1);
15 position
= new Vector2(x
, y
);
16 moveX
= new Vector2(-1+dir
*2, 0);
17 moveY
= new Vector2(0, 0);
25 public void changeDir() {
27 moveX
.set(-1+2*dir
,0);
28 if (MathUtils
.randomBoolean(.0025f)) {
35 if (MathUtils
.randomBoolean(.0025f)) changeDir();
36 if (moveX
.x
!= 0f) animation
+=ANIM_SPEED
; else animation
=0;
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
);