在我的游戏中,使用
创建播放器handler.addPlayer(new Player(x, y, width, height, ID, handler));
到目前为止它有效,但现在我需要在另一个Classes方法中使用此播放器 有没有办法检测此播放器并通过方法返回对象?
此外,当玩家死亡时,我希望主类中的JFrame停止显示游戏,并显示菜单屏幕。我尝试使用
JPanel mp = new JPanel();
mp.setBackground(Color.BLACK);
[.. adding a button here ... ]
myFrame.removeAll();
myFrame.add(mp);
但游戏崩溃了。
答案 0 :(得分:0)
您可以在所需的类中始终拥有该Object
的实例,因此您只需将实际对象作为参数传递给新类的构造函数,或者通过setter设置它。例如,如果您在名为A
的类中需要该播放器:
public class A {
// some attributes
Player p = null;
public A(Player p){
this.p = p;
}
public void setPlayer(Player p) {
this.p = p;
}
}
然后,从您定义并将播放器初始化为handler.addPlayer(...)
的类中,您可以创建一个新的A
对象,并将实际播放器作为A
构造函数中的参数传递,或者使用setPlayer()
。这样,您就可以在类Player
内拥有实际A
的实例。
希望这有帮助。