Java写的小游戏,怎么添加倒计时功能?

用JAVA写的小游戏,打算在按游戏开始的同时,启动倒计时?然后计时一定时间,例如5分钟,然后时间一到,游戏结束。应该怎么做?最好还有一个暂停功能,能够暂时停止倒计时!会的... 用JAVA写的小游戏,打算在按游戏开始的同时,启动倒计时?然后计时一定时间,例如5分钟,然后时间一到,游戏结束。应该怎么做?最好还有一个暂停功能,能够暂时停止倒计时!会的高手帮帮忙!谢谢(游戏是用Frame做的,希望在窗口能看到倒计时) 展开
 我来答
flymomo123
2010-01-18 · TA获得超过819个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:369万
展开全部
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Clock extends JFrame implements Runnable,ActionListener {

int time = 180;
boolean start = false;
JLabel timeLabel = new JLabel(""+time+" sec");
JButton startButton,pauseButton;
Clock(){
this.setTitle("Clock");
this.setBounds(0, 0, 150, 150);
this.add(BorderLayout.CENTER,timeLabel);

JPanel buttonPanel = new JPanel();

startButton = new JButton("start");
startButton.addActionListener(this);
buttonPanel.add(startButton);

pauseButton = new JButton("pause");
pauseButton.addActionListener(this);
buttonPanel.add(pauseButton);

this.add(BorderLayout.SOUTH,buttonPanel);
this.setVisible(true);

}

public void startTime(){
if(start){
return;
}else{
start = true;
new Thread(this).start();
}
}

public void pauseTime(){
start = false;
}

@Override
public void run() {
// TODO Auto-generated method stub
while(start){
time--;
timeLabel.setText(""+time+" sec");
timeLabel.updateUI();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

public static void main(String[] args) {
// TODO Auto-generated method stub
new Clock();
}

@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand().equals("start")){
this.startTime();
}else if(e.getActionCommand().equals("pause")){
this.pauseTime();
}
}

}
这是用线程的方法。但只只精确到秒。其实用java自带的
System.currentTimeMillis();
System.nanoTime();
这两个自带的方法取个开头值结束值相减就可以计算时间了
这两个方法一般用来计算程序运行时间的
但是线程用的也很多。。要学会多用线程。。。
线程非常重要。。

因为写的匆忙。。。没定义到0就停止不过这个容易改。。这个可以到-时间。。。还有
没锁。。你自己想去把。。我要写论文了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qdmmy6
2010-01-27 · TA获得超过2674个赞
知道小有建树答主
回答量:1823
采纳率:0%
帮助的人:1058万
展开全部
代码太长,留下email给你发。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
歪瑞顾K
2010-01-18 · TA获得超过2905个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2210万
展开全部
倒计时?? LZ 你多线程会了没?
多线程会了 不存在连个倒计时都搞不来的。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李长江七号
2010-01-18
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
安装USP软件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式