2013-05-10 20 views
0

用戶控件我有我的LibGDX的遊戲畫面,將基本上兩列,房地產和含標籤/按鈕,第一個是75%,而接下來爲25%,這將包含文本和圖片。將所有代碼直接包含在屏幕本身中是相當複雜的。理念LibGDX

我想要做的是有一個對象包含邏輯屏幕的左側,一個用於右。這與ASP.NET類似,我有一個頁面,左側內容爲一個用戶控件,右側爲一個。

這怎麼可能在LibGDX屏幕設置?

+0

雖然drinor的解決方案可能是正確的(這真的取決於你的需求),所以很難確定你正在努力實現在年底到底是什麼。通常情況下,屏幕類中不會有太多代碼,您可以將大部分邏輯委託給其他類,通常屏幕將是構建對象圖的起點。你所問的是完全可能的,聽起來像標準的面向對象的編程,但有無數的方法來做到這一點。 – Jyro117 2013-05-10 14:59:53

+0

正如我所說的一個Inputprocessor類將是很好的委託這遠離screenclass。 http://code.google.com/p/libgdx/wiki/InputEvent – BennX 2013-05-13 11:14:48

回答

1

我建議你使用scene2D對於每個元素創建新類。

例如,您可以創建爲每個邊延伸Group一類。然後你可以添加一個ClickListener來分組或者根據你的邏輯給組中的每個Actor。

0

其實有很多方法可以做到這一點。你可以通過檢查是否觸及事件來處理事件,如果是這樣,你自己按位置處理。

在另一邊,你可以通過一個階段內創建Actors使用scene2D系統,並設置inputprocessor舞臺。在這種情況下,每個事件都會發送到actors,如果它在其範圍內,則根據實施的方式處理它(請查看:ActionListenes)。

  1. 所以你的情況,你可以創建2 Actors這無形之中 和它的每個人都有其副作用。
  2. 你也可以從libgdx使用Button 和使用沒有背景/前景或此類。只需設置正確的尺寸,並使其無法通過背景或不透明。
  3. 或者你確實檢查了gameloop的每一個週期,如果有的話,如果是的話,你確實處理事件。看看這個:input pollingcreating an input processor