Java 如何重新启动正在处理的游戏?

Java 如何重新启动正在处理的游戏?,java,processing,Java,Processing,所以我想写一个处理游戏,你试着用篮球圈接住一个落下的球。一切都进行得很顺利,直到在某个时刻,当你赢或输并按下“重启”键时,游戏才会重启。 这是我的setup()方法(仅初始化变量的相关部分): void setup(){ 游戏=新游戏(); scr=新的飞溅屏幕(); gameBackground=新图像(); 背景=新的DynamicBackground(); 按钮=新矩形(); /*音乐套装*/ 介绍=新音乐(); 生活音乐=新音乐(); failMusic=新音乐(); /*球环组*/ b

所以我想写一个处理游戏,你试着用篮球圈接住一个落下的球。一切都进行得很顺利,直到在某个时刻,当你赢或输并按下“重启”键时,游戏才会重启。 这是我的setup()方法(仅初始化变量的相关部分):

void setup(){
游戏=新游戏();
scr=新的飞溅屏幕();
gameBackground=新图像();
背景=新的DynamicBackground();
按钮=新矩形();
/*音乐套装*/
介绍=新音乐();
生活音乐=新音乐();
failMusic=新音乐();
/*球环组*/
ball=新图像();
环=新图像();
/*生命点集*/
life1=新图像();
life2=新图像();
life3=新图像();
life4=新图像();
故障计数=3;
倒数=0;
winStr=“你赢了!”;
gamer=“游戏结束”;
restartStr=“Resetart”;
flag=true;
win=新文本();
gameOver=新文本();
重新启动=新文本();
规模(710490);
.....
}
这是我的
mousePressed
方法:

void mousePressed(){
如果(mouseX>button.x&&mouseX-button.y&&mouseY被内部回调调用。它不打算调用
setup
。注意,在setup中,窗口已初始化(
size(710490);
)。调用setup会导致系统挂起

设置中保持静态对象的初始化
,但将所有动态对象(“移动”对象)的初始化移动到
初始化
函数。在
设置
鼠标按下
中调用此函数:

void init(){
游戏=新游戏();
scr=新的飞溅屏幕();
gameBackground=新图像();
背景=新的DynamicBackground();
按钮=新矩形();
/*球环组*/
ball=新图像();
环=新图像();
// ...
}
void setup(){
规模(710490);
//初始化静态对象
/*音乐套装*/
介绍=新音乐();
生活音乐=新音乐();
failMusic=新音乐();
//初始化动态对象
init();
}
void mousePressed(){
如果(mouseX>button.x&&mouseX-button.y&&mouseY被内部回调调用。它不打算调用
setup
。注意,在setup中,窗口已初始化(
size(710490);
)。调用setup会导致系统挂起

设置中保持静态对象的初始化
,但将所有动态对象(“移动”对象)的初始化移动到
初始化
函数。在
设置
鼠标按下
中调用此函数:

void init(){
游戏=新游戏();
scr=新的飞溅屏幕();
gameBackground=新图像();
背景=新的DynamicBackground();
按钮=新矩形();
/*球环组*/
ball=新图像();
环=新图像();
// ...
}
void setup(){
规模(710490);
//初始化静态对象
/*音乐套装*/
介绍=新音乐();
生活音乐=新音乐();
failMusic=新音乐();
//初始化动态对象
init();
}
void mousePressed(){

如果(mouseX>button.x&&mouseX-button.y&&mouseY)仍然不起作用…:\n我只保留了设置方法的size(…,…)和init(),如您所说,但仍然得到stucked@NoaIsr您是否调用
noLoop()
某个地方?你甚至有
绘图功能吗?是的,ofc,当我让游戏发生时,我有一个完整的绘图功能。当游戏结束时,我调用noLoop()@无需重新创建所有对象。只需重新创建正在移动或更改的对象即可。当然,您必须在按下鼠标时调用restart the loop(重新启动循环)。它仍然不起作用…:\n如您所说,我只使用size(…,…)和init()保留了安装方法,但仍然得到stucked@NoaIsr您是否调用
noLoop()
某个地方?你甚至有
绘图功能吗?是的,ofc,当我让游戏发生时,我有一个完整的绘图功能。当游戏结束时,我调用noLoop()@无需重新创建所有对象。只需重新创建正在移动或更改的对象即可。当然,当按下鼠标时,您必须调用重新启动循环。