我正在嘗試用正方形制作一個虛擬標簽?,F(xiàn)在,我專注于讓游戲說游戲結(jié)束并在游戲玩家抓住另一個玩家時稍后關(guān)閉。但是,當(dāng)兩個方塊碰撞時,程序不會向屏幕寫入任何內(nèi)容。我知道調(diào)用 g.drawString 的 if 語句有效,因為它在這里輸出到控制臺兩次,所以我很困惑為什么 g.drawString 不起作用。package com.Arman;import javax.swing.*;import java.awt.*;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.util.HashSet;public class Virtual_Tag { static int x1 = 0; static int y1 = 0; static Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); static int height = (int) dimension.getHeight(); static int width = (int) dimension.getWidth(); tatic int sWidth = (int) (Math.round(100 * width / 1366.0)); static int sHeight = (int) (Math.round(100 * height / 768.0)); static int x2 = width - sWidth; static int y2 = height - sHeight; static myGraphicsPanel graphics = new myGraphicsPanel(); static boolean[] move = new boolean[8]; static int xSpeed1; static int ySpeed1; static int xSpeed2; static int ySpeed2; static boolean xcol, ycol; static JFrame frame = new JFrame();
1 回答

嗶嗶one
TA貢獻1854條經(jīng)驗 獲得超8個贊
更改您的打印坐標以將字符串向右和向下移動。嘗試200,200
。
此外,您應(yīng)該執(zhí)行以下操作:
擺脫你的靜態(tài)陳述。
然后將 main 中的代碼移動到方法中
start()
。然后,您可以通過執(zhí)行以下操作來調(diào)用您的程序:
new VirtualTag().start();
通常你應(yīng)該在 main 中啟動你的程序,如下所示:
SwingUtilities.invokeLater(()->new Virtual_Tag().start());
但在這種情況下,這是行不通的,因為您將不斷循環(huán),并且Event Dispatch Thread
不會繪制任何內(nèi)容。
添加回答
舉報
0/150
提交
取消