Извините, это немного кода, но здесь не так много вырезать. Это должно считывать изображение (спрайт-лист алфавита) и разрезать его на более мелкие подизображения, которые представляют собой каждую отдельную букву. Когда клавиша нажата, соответствующая буква появляется на экране, но эта часть предназначена только для создания фактического подизображения.
http://i.imgur.com/4I4uX.png (изображение)
package typeandscreen;
(where the imports should be, i just cut them out to save space)
public class Font{
final int width = 78; //gives the dimensions of the image
final int height = 32;
final int rows = 4;
final int cols = 13;
BufferedImage letters[] = new BufferedImage[rows*cols]; //makes the array of
//subimages. rows*cols is
//the number of subimages
void test(){
try{
final BufferedImage totalImage = ImageIO.read(new File("ABCabcs.png"));
//loads the big image itself
Эта следующая часть меня смущает. Для чего я и j, и почему они складывают и умножают их? Эта часть предназначена для того, чтобы узнать, насколько большими должны быть изображения. Разве это не должно быть 4 на 13, то есть строки * столбцы?
for(int i = 0; i < rows; i++){
for(int j = 0; j < cols; j++){
letters[(i * cols) + j] = totalImage.getSubimage(
j * width,
j * height,
width,
height
);
}
}
} catch(IOException e){
e.printStackTrace();
}
}
}
Я не понимаю, что делают я и j. Что мне здесь не хватает?