また、volatile および synchronized 修飾子が何をするのか完全には理解していません。しかし、基本的にこれは、YouTubeシリーズから学ぶゲームの始まりであると考えられており、これまでのところ、内部でメソッドの更新とレンダリングを実行するwhileループを持つスレッドを開始するだけです。問題は、色の設定と長方形の作成以外に、render メソッドで何も理解していないことです。
package game;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferStrategy;
import javax.swing.JFrame;
public class Game implements Runnable {
public static Thread Game;
public volatile boolean running = false;
public void start() {
running = true;
Game = new Thread(this);
Game.start();
}
public synchronized void stop() {
running = false;
try {
Game.join();
} catch (InterruptedException e) {
System.out.println("asddsa");
}
}
public void update() {
}
public void render() {
BufferStrategy bs = GameFrame.GraphicsBoard.getBufferStrategy();
if (bs == null) {
GameFrame.GraphicsBoard.createBufferStrategy(3);
return;
}
Graphics g = bs.getDrawGraphics();
g.setColor(Color.BLACK);
g.fillRect(0, 0, GameFrame.GraphicsBoard.getWidth(),
GameFrame.GraphicsBoard.getHeight());
g.dispose();
bs.show();
}
public synchronized void run() {
new GameFrame();
while (running) {
update();
render();
}
}
}