Это довольно странно, потому что у меня есть класс Character, который может получить доступ к Frame.dimension.getWidth ();и его партнер getHeight (), однако, когда я хотел использовать это в классе Map, затмение подчеркивает его и не может дать мне обратную связь.Запуск программы в любом случае приводит к появлению ошибок Java, указывающих, что они не могут найти значение X объекта Map.
Вот класс Frame:
package Core;
import java.awt.Dimension;
import java.awt.Rectangle;
import javax.swing.JFrame;
public class Frame
{
static int width = 800, height = 600;
static Dimension dimension;
public static void main(String[]args){
JFrame frame= new JFrame("RETRO");
frame.add(new Screen());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(width,height);
frame.setVisible(true);
frame.setResizable(false);
dimension = frame.getContentPane().getSize();
}
}
И класс Map:
package Core;
import java.awt.Frame;
import java.awt.Image;
import java.awt.Rectangle;
import javax.swing.ImageIcon;
import java.awt.Dimension;
public class Map
{
double x, y;
Image map;
ImageIcon background = new ImageIcon("images/Maps/maze.jpg");
public Map(){
map = background.getImage();
}
public void move(double moveX, double moveY){
x += moveX;
y += moveY;
}
//////////Gets
public Image getMap(){
return map;
}
public double getX(){
if(x<0)
x=0;
else if(x>Frame.dimension.getWidth())
x=Frame.dimension.getWidth();
return x;
}
public double getY(){
if(y<0)
y=0;
else if(y>Frame.dimension.getHeight())
y=Frame.dimension.getHeight();
return y;
}
public int getHeight(){
return map.getHeight(null);
}
public int getWidth(){
return map.getWidth(null);
}
}
Я мог бы предоставить класс Character, но на данный момент он очень длинный и грязный ... однако слово Frame использовалось только при вызове Frame.dimension.getWidth () / getHeight ();