2011-09-10 165 views
0

我正在用Java創建我的第一個遊戲。這是一個簡單的2D自上而下的射擊遊戲。我想讓相機跟隨我的角色,因此,使用Canvas,我該如何製作它,以便相機在中心位置精確地追蹤角色。當我點擊箭頭鍵時地圖正在移動。用於邏輯Java 2D遊戲問題

+1

Swing or AWT?我在Swing中使用JScrollPane(沒有滾動條)做了這樣的事情,並設置了模型的值。 –

+0

您是否想要邏輯或使Canvas調用的Java部分? –

+0

我想我想要的邏輯。 – Anonymous

回答

1

一種可能性是這樣的:

  • 創建一個監聽並將它附加到您的字符(直接或間接地取決於你的設計)。傾聽角色移動或位置變化。
    • 直接表示你的角色類有一個addListener方法。
    • 間接意味着你的角色類將事件發佈到全局事件總線上,監聽器用它來註冊以接收特定類型的事件。
  • 根據字符位置&相應地計算相機位置。這將需要一點數學!

通過使用事件系統實現此功能,您可以輕鬆地將相機居中的邏輯與移動字符的邏輯分開。通過這種方式,您可以移動箭頭鍵,也可以使用點擊移動並且相機邏輯不受影響。

對不起,我不能提供關於您可能需要調用的實際Java 2D和Canvas調用的一般幫助,但我希望有關如何執行此操作的廣泛示例有所幫助!

+0

謝謝,這是一個很大的幫助!我對Java遊戲開發相當新穎,所以我想知道我是如何製作一個「相機」的。像我如何使用「相機」縮放/平移?我知道你必須相應地確定其他所有東西,但是我能否在正確的方向上做出示例/步驟? – Anonymous

+0

我並不那麼熟悉這樣的事情,但我可以推薦看看[Killer Game Programming in Java](http://shop.oreilly.com/product/9780596007300.do)的例子。 –