我正在製作一個多線程的pacman遊戲。多個動畫JPanels - 只有最後一個添加到JFrame顯示
有一個PacmanController類,它擴展了JFrame,一個擴展了JPanel的Maze類,一個在它自己的線程中運行並擴展JPanel的Pacman類,以及一個在它自己的線程中運行並擴展JPanel的Ghost類。每個線程(pacman和每個Ghost)不斷重新繪製自己並調用maze.repaint()。
當我將迷宮添加到框架時,它顯示得很好,如果我添加了pacman,它仍然顯示並且動畫很好。
但是,當我在pacman之後將Ghost添加到幀中時,出現鬼並且pacman消失。如果我切換添加pacman和ghost的順序,則情況正好相反,即只顯示pacman中的一個或每個ghost的實例 - 最後添加一個。
如:
add(maze);
add(pacman);
add(ghostA);
只有迷宮ghostA出現?
我意識到這與JFrames BorderLayout有關,即只有一個組件可以添加到中心區域,但不知道如何修復它。我曾嘗試在EAST WEST等地添加pacman和ghosts,但這不起作用。
我也曾嘗試
maze.add(pacman);
add(pacman); //etc
但是這也不能工作。
對不起,很長的文章,任何幫助,非常感謝。我不能發佈任何代碼,因爲代碼太長,並且遍佈許多類。
非常感謝!
許多食譜麻煩搖擺贊成:-) – Peter 2009-04-17 18:14:07
感謝您的答覆,但是這是一個分配;因此我沒有時間開始重新設計我的程序 - 完全是2000行。我真正想知道的是,我可以使用迄今爲止所做的工作來實現它的工作嗎?兩者都顯示OK,只是不在同一時間 - 所以根據我所描述的,是否有一個快速解決這個問題?歡呼 – Rory 2009-04-17 18:57:44
已經嘗試過沒有成功的人。沒關係,謝謝。 – Rory 2009-04-17 19:20:26