2016-05-15 69 views
0

我正在製作紙牌遊戲,當玩家與放置在紙牌上的紙牌進行互動時,我一直在提供簡單的視覺反饋。Java Swing紙牌遊戲中的視覺反饋

enter image description here

正如你可以在圖片中看到我想實現的是在黑板上用不同的對象進行交互(例如卡之間繪製箭頭時,用飛船一箭頭會之間出現的玩家攻擊該船及其目標)。當玩家做出他的動作時,箭頭需要在對手gui上畫出來,以及當對手開始他的防守階段時。

整個客戶端和卡片都使用swing庫進行編碼,並且是各種佈局的JPanel。這些卡片是一類,並且板子gui由幾個gui類組成(handGui,heroGui,unitFieldGui等),並加入到一個mainWindow gui類中。

我真的不知道如何着手實現這種視覺反饋,並希望如果你能指向正確的方向,哪種技術可以幫助我解決這個問題?

+1

有兩件事會改善這個問題,並幫助您獲得答案:特異性和代碼。請詳細詢問並縮小可能的問題,並請張貼相關代碼,最好是[mcve]或[sscce](http://sscce.org)。 –

回答

1

查看關於Glass Panes的Swing教程的部分。一個Glass Pane是繪製在框架頂部的組件,您可以自定義繪畫。

您可以使用SwingUtilities.convertPoint(...)方法將兩個卡組件的位置相對於Glass Pane轉換。然後你做自定義繪畫從一個組件繪製箭頭到另一個組件。