我今年已經在AP計算機科學大學二年級學習,主要講述循環,類,方法,一般CS邏輯和一些數學方面的內容。我錯過了我最喜歡編碼的東西,製作遊戲。現在我所做的每一個遊戲都有一些方法來管理它,無論是使用visual basic的定時器還是使用c#的XNA插件來爲我設置更新方法。問題是我沒有在我的課程中學會如何爲java做這件事。我已經讀過一些線程和實現可運行的,但我不確定我要去哪裏。創建一個可以連續更新變量的java方法
1級
import java.awt.FlowLayout;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class GFXScreen extends JFrame
{
/**
* @param screenHeigth
* @param screenHeigth
* @param The file name of the image. Make sure to include the extension type also
* @param The title at the top of the running screen
* @param The height of the screen
* @param The width of the screen
*/
public GFXScreen(String fileName, String screenTitle, int screenHeight, int screenWidth)
{
setLayout(new FlowLayout());
image1 = new ImageIcon(getClass().getResource(fileName));
label1 = new JLabel(image1);
this.add(label1);
//Set up JFrame
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
this.setTitle(screenTitle);
this.setSize(screenWidth, screenHeight);
}
/**
* @param desired amount to move picture
*/
public void updatePic(int increment)
{
//update pos
label1.setBounds(label1.bounds().x, label1.bounds().y - increment,
label1.bounds().width, label1.bounds().height);
}
private ImageIcon image1;
private JLabel label1;
}
2級
public class MainClass implements Runnable {
public static void main(String[] args)
{
(new Thread(new MainClass())).start();
GFXScreen gfx = new GFXScreen("pixel_man.png", "pixel_Man", 1000, 1000);
}
public void run()
{
gfx.updatePic(1);
}
}
在這種情況下我希望發生的事情是,我想要開始在頂部的畫面慢慢平穩向下移動至底部。我將如何做到這一點?
擺動計時器會爲這項工作做得很好。 – 2014-10-19 15:44:47
[例如](http://stackoverflow.com/a/12545773/522444)。 – 2014-10-19 15:46:29
此外,您的編譯器應該向您抱怨您使用的已棄用方法,更重要的是,您應該理解這些抱怨。不要使用這些方法,而是檢查Java API以獲得更好的替代品。 – 2014-10-19 15:48:42