1 package ru
.deadsoftware
.cavecraft
.misc
;
3 import com
.badlogic
.gdx
.Gdx
;
4 import com
.badlogic
.gdx
.graphics
.Texture
;
5 import com
.badlogic
.gdx
.graphics
.g2d
.BitmapFont
;
6 import com
.badlogic
.gdx
.graphics
.g2d
.GlyphLayout
;
7 import com
.badlogic
.gdx
.graphics
.g2d
.Sprite
;
8 import com
.badlogic
.gdx
.graphics
.g2d
.TextureRegion
;
9 import ru
.deadsoftware
.cavecraft
.CaveGame
;
13 public static final int BLOCK_TEXTURES
= 66;
14 public static final int ITEM_TEXTURES
= 10;
16 private static GlyphLayout layout
;
18 public static BitmapFont minecraftFont
;
20 public static Sprite gameLogo
;
22 public static Texture menuButtonTexture
;
23 public static TextureRegion
[] menuButton
= new TextureRegion
[3];
25 public static Texture playerTexture
;
26 public static Sprite
[][] playerSprite
= new Sprite
[2][4];
28 public static Texture pigTexture
;
29 public static Sprite
[][] pigSprite
= new Sprite
[2][2];
31 public static Sprite shade
;
33 public static Texture terrain
;
34 public static Sprite
[] blockTextures
= new Sprite
[BLOCK_TEXTURES
];
36 public static Texture items
;
37 public static Sprite
[] itemTextures
= new Sprite
[ITEM_TEXTURES
];
39 public static Texture gui
;
40 public static TextureRegion invBar
;
41 public static TextureRegion invBarCur
;
42 public static TextureRegion guiCur
;
44 public static Texture wreckTexture
;
45 public static TextureRegion
[] wreck
= new TextureRegion
[10];
47 public static Texture creativeTexture
;
48 public static TextureRegion creativeInv
;
49 public static TextureRegion creativeScroll
;
51 public static Texture touchGui
;
52 public static TextureRegion
[] touchArrows
= new TextureRegion
[4];
53 public static TextureRegion touchLMB
, touchRMB
;
54 public static TextureRegion touchToggleMode
;
55 public static TextureRegion touchSpace
;
57 private static void loadPlayer() {
58 playerTexture
= new Texture(Gdx
.files
.internal("mobs/char.png"));
61 playerSprite
[0][0] = new Sprite(new TextureRegion(playerTexture
, 0, 0, 12, 12));
62 playerSprite
[0][0].flip(false, true);
64 playerSprite
[0][1] = new Sprite(new TextureRegion(playerTexture
, 0, 13, 12, 12));
65 playerSprite
[0][1].flip(false, true);
67 playerSprite
[0][2] = new Sprite(new TextureRegion(playerTexture
, 25, 5, 20, 20));
68 playerSprite
[0][2].flip(false, true);
70 playerSprite
[0][3] = new Sprite(new TextureRegion(playerTexture
, 25, 27, 20, 20));
71 playerSprite
[0][3].flip(false, true);
74 playerSprite
[1][0] = new Sprite(new TextureRegion(playerTexture
, 13, 0, 12, 12));
75 playerSprite
[1][0].flip(false, true);
77 playerSprite
[1][1] = new Sprite(new TextureRegion(playerTexture
, 13, 13, 12, 12));
78 playerSprite
[1][1].flip(false, true);
80 playerSprite
[1][2] = new Sprite(new TextureRegion(playerTexture
, 37, 5, 20, 20));
81 playerSprite
[1][2].flip(false, true);
83 playerSprite
[1][3] = new Sprite(new TextureRegion(playerTexture
, 37, 27, 20, 20));
84 playerSprite
[1][3].flip(false, true);
87 private static void loadPig() {
88 pigTexture
= new Texture(Gdx
.files
.internal("mobs/pig.png"));
89 pigSprite
[0][0] = new Sprite(new TextureRegion(pigTexture
, 0, 0, 25, 12));
90 pigSprite
[0][0].flip(false, true);
91 pigSprite
[1][0] = new Sprite(new TextureRegion(pigTexture
, 0, 12, 25, 12));
92 pigSprite
[1][0].flip(false, true);
93 pigSprite
[0][1] = new Sprite(new TextureRegion(pigTexture
, 4, 26, 12, 12));
94 pigSprite
[0][1].flip(false, true);
95 pigSprite
[1][1] = new Sprite(new TextureRegion(pigTexture
, 16, 26, 12, 12));
96 pigSprite
[1][1].flip(false, true);
99 public static void load() {
100 minecraftFont
= new BitmapFont(Gdx
.files
.internal("font.fnt"), true);
101 minecraftFont
.getData().setScale(.375f);
103 layout
= new GlyphLayout();
105 gameLogo
= new Sprite(new Texture(Gdx
.files
.internal("gamelogo.png")));
106 gameLogo
.flip(false, true);
108 menuButtonTexture
= new Texture(Gdx
.files
.internal("buttons.png"));
109 for (int i
= 0; i
< 3; i
++) {
110 menuButton
[i
] = new TextureRegion(menuButtonTexture
, 0, 20 * i
, 200, 20);
111 menuButton
[i
].flip(false, true);
117 shade
= new Sprite(new Texture(Gdx
.files
.internal("shade.png")));
119 gui
= new Texture(Gdx
.files
.internal("gui.png"));
120 guiCur
= new TextureRegion(gui
, 0, 0, 16, 16);
121 invBar
= new TextureRegion(gui
, 0, 16, 182, 22);
122 invBarCur
= new TextureRegion(gui
, 0, 38, 24, 24);
124 creativeTexture
= new Texture(Gdx
.files
.internal("allitems.png"));
125 creativeInv
= new TextureRegion(creativeTexture
, 0, 0, 176, 136);
126 creativeInv
.flip(false, true);
127 creativeScroll
= new TextureRegion(creativeTexture
, 3, 137, 12, 15);
128 creativeScroll
.flip(false, true);
130 wreckTexture
= new Texture(Gdx
.files
.internal("break.png"));
131 for (int i
= 0; i
< 10; i
++) {
132 wreck
[i
] = new TextureRegion(wreckTexture
, 16 * i
, 0, 16, 16);
135 if (CaveGame
.TOUCH
) {
136 touchGui
= new Texture(Gdx
.files
.internal("touch_gui.png"));
137 for (int i
= 0; i
< 4; i
++) {
138 touchArrows
[i
] = new TextureRegion(touchGui
, i
* 26, 0, 26, 26);
139 touchArrows
[i
].flip(false, true);
141 touchLMB
= new TextureRegion(touchGui
, 0, 26, 26, 26);
142 touchLMB
.flip(false, true);
143 touchRMB
= new TextureRegion(touchGui
, 52, 26, 26, 26);
144 touchRMB
.flip(false, true);
145 touchToggleMode
= new TextureRegion(touchGui
, 26, 26, 26, 26);
146 touchToggleMode
.flip(false, true);
147 touchSpace
= new TextureRegion(touchGui
, 0, 52, 104, 26);
148 touchSpace
.flip(false, true);
151 terrain
= new Texture(Gdx
.files
.internal("terrain.png"));
152 for (int i
= 0; i
< BLOCK_TEXTURES
; i
++) {
153 blockTextures
[i
] = new Sprite(terrain
,
154 (i
% 16) * 16, (i
/ 16) * 16, 16, 16);
155 blockTextures
[i
].flip(false, true);
156 blockTextures
[i
].setSize(8, 8);
160 items
= new Texture(Gdx
.files
.internal("items.png"));
161 for (int i
= 0; i
< ITEM_TEXTURES
; i
++) {
162 itemTextures
[i
] = new Sprite(items
,
163 (i
% 16) * 16, (i
/ 16) * 16, 16, 16);
164 itemTextures
[i
].flip(false, true);
165 //itemTextures[i].setSize(8,8);
170 public static int getStringWidth(String s
) {
171 layout
.setText(minecraftFont
, s
);
172 return (int) layout
.width
;
175 public static int getStringHeight(String s
) {
176 layout
.setText(minecraftFont
, s
);
177 return (int) layout
.height
;