Я пытался нарезать большую картинку и использовать ее в качестве плитки для игры. У меня была программа, работающая с использованием fillRect () для имитации изображения. Однако при замене кода fillRect происходит сбой. Вот что я использовал:
buffer.drawImage(section[i][j].getSectionImage(i, j),
sectionSize * i + OFFSETx,
sectionSize * j + OFFSETy,
this);
public class Section{
private static ImageIcon ii;
private static Image mainImage;
private Image sectionImage;
public Section(){
if (ii == null){
ii = new ImageIcon(this.getClass().getResource("images/Mossy_rocks.png"));
mainImage = ii.getImage();
}
}
public Image getSectionImage(int x, int y){
sectionImage = createImage(new FilteredImageSource(mainImage.getSource(),
new CropImageFilter(1,1,20,20))); //test values
return sectionImage;
}
}
Я пытался «расширить JApplet / JFrame / JComponent» для класса Section, но, похоже, это не помогло.
Edit: я также хотел бы отметить, что если я просто верну mainImage из getSectionImage (), я получу изображение. Я думаю, что самая большая проблема - остальная часть этой функции ... но я не уверен, поэтому я включил все, что мне нужно было добавить при замене fillRect ().