我收到一個(gè)Exception in thread "Thread-3" java.lang.InternalError: Could not create a buffer strategy錯(cuò)誤,該錯(cuò)誤可以追溯到 Java 的基本代碼,它可以追溯到下面第 58 ( render();) 和 77 ( this.createBufferStrategy(5);) 行的 Game 類。任何幫助都會(huì)很棒,如果您需要查看其他類,我還將我的所有代碼上傳到 github (mitisme/mit)。import java.awt.Canvas;import java.awt.Color;import java.awt.*;import java.awt.image.BufferStrategy;public class Game extends Canvas implements Runnable { private static final long serialVersionUID = 1L; private boolean isRunning = false; private Thread thread; private Handler handler; //Creates background window size and holds objects by handler public Game() { Screen myScreen = new Screen(1280, 720, "Deed", this); start(); handler = new Handler(); addKeyListener(new KeyInput(handler)); handler.addObject(new Player(425, 745, ID.Player, handler)); }//starts a new thread private void start() { isRunning = true; thread = new Thread(this); thread.start(); } // Stops current thread, and catches exceptions private void stop() { isRunning = false; try { thread.join(); } catch (InterruptedException e) { e.printStackTrace(); } } //Infinite game loop public void run() { this.requestFocus(); long lastTime = System.nanoTime(); double amountOfTicks = 60.0; double ns = 1000000000 / amountOfTicks; double delta = 0; long timer = System.currentTimeMillis(); int frames = 0; while(isRunning) { long now = System.nanoTime(); delta += (now - lastTime) / ns; lastTime = now; while(delta >= 1) { tick(); delta--; } render(); frames++; if(System.currentTimeMillis() - timer > 1000) { timer += 1000; frames = 0; } } stop(); }
1 回答

LEATH
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
我發(fā)現(xiàn),這條線this.createBufferStrategy(5);
只能從2-4創(chuàng)建緩沖策略,否則會(huì)出錯(cuò)。
添加回答
舉報(bào)
0/150
提交
取消