0

私は、ユーザーが「仕事」を得ることができるゲームを作成しています。そこでは、合計金額が給与によって増加し、一時停止してから繰り返されます。これは、Cookie Clicker の Cookie システムのようなもので、いくつかの Cookie を作成し、一時停止すると、さらに表示されます。ゲームでは、ボタンをクリックすると「仕事」が得られます。

//The button to get a job
                    JButton workButton = new JButton("Get a job");
                    mainLayout.gridx = -1;
                    mainLayout.gridy = 1;
                    mainPanel.add(workButton, mainLayout); 
                    workButton.addActionListener(new ActionListener(){

                        @Override
                        public void actionPerformed(ActionEvent arg0) {

                            boolean jobButtonClicked = true;
                            Random jobGenerator = new Random();
                            int jobSalary = jobGenerator.nextInt(200);
                            workLabel.setText("You are making $" +jobSalary);
                            int totalMoney = 0;

                            for(jobButtonClicked = true;;){

                                totalMoney = totalMoney + jobSalary;
                                //I want the total Money to increase by jobSalary, 
                                //pause for one second, and then do it again.

                            }


                        }

                });

ここで一時停止したい:

for(jobButtonClicked = true;;){

                            totalMoney = totalMoney + jobSalary;
                            //I want the total Money to increase by jobSalary, 
                            //pause for one second, and then do it again.

「Thread.sleep();」を試したのですが、パラメータを入力しないと「Thread 型のメソッド sleep(long) は引数()には適用できません」というエラーが出てしまいます。ミリ秒数を括弧に入れると、エラーが発生します:「ハンドルされていない例外タイプ InterruptedException」 私はこのような初心者であり、学ぶためにこれを行っています。できれば助けてください。御時間ありがとうございます。

4

1 に答える 1

1

書く

try{
    Thread.sleep(1000);
} catch (InterruptedException e){}

ループ用に新しいスレッドを作成することを忘れないでください。アプリケーションがフリーズするため、スリープするものに Event Dispatch Thread を使用するのは良くありません。

于 2013-10-03T23:00:57.980 に答える