我想製作一個直接擴展Actor的按鈕。我想這樣做的原因是因爲我不想經歷製作具有皮膚等的文本按鈕的麻煩。我只是想能夠加載我的PNG文件在屏幕上,並使其可點擊。任何人有想法,或者我應該堅持Textbutton?如何製作一個直接擴展演員的按鈕? Libgdx
回答
ImageTextButton怎麼樣?
或者你使用一個按鈕,並添加一個堆棧(持有多個項目,你可以置身其中個體經營)
我不建議你,做你自己的按鈕。你會重新發明輪子。
我建議:嘗試ImageTextButton。
如果不幫助 - >按鍵+堆棧
public class TextureActor extends Actor {
private Texture texture;
public TextureActor(Texture texture) {
this.texture = texture;
}
@Override
public void draw(Batch batch, float parentAlpha) {
batch.draw(texture, getX(), getY(), getWidth(), getHeight());
}
}
你當然可以與任何其他可以通過批量繪製更換Texture
。或者使用另一個draw
方法和更詳細的參數。
所以我做了這樣的事情,但我堅持讓它來處理點擊事件。我試過使用ClickedListener,但它似乎沒有工作。我不確定這是因爲我做錯了什麼,或者我根本無法將ClickListener添加到Actor對象(這對我來說沒有任何意義)。 –
ClickListener應該適用於任何Actor。 – Tenfour04
也許你忘了設置Touched(Touchable.enabled); –
按鈕實際上並不需要的皮膚,所以會容易得多隻是做一個工廠方法來簡化它,而不是代碼的所有適當的按鈕的邏輯:
public static Button makeButton (TextureRegion upImage, TextureRegion downImage, Actor contentActor) {
Button.ButtonStyle style = new Button.ButtonStyle();
style.up = new TextureRegionDrawable(upImage);
style.down = new TextureRegionDrawable(downImage);
return contentActor == null ? new Button(style) : new Button(contentActor, style);
}
- 1. 實施ParallaxBackground從演員擴展了libgdx
- 2. 如何使一個「手工製作」的演員褪色LibGDX
- 3. 我該如何擴展或者製作一個Dojo按鈕?
- 4. libgdx - 在刪除另一個演員後未添加演員
- 5. LibGDX演員分組
- 6. 如何繪製從開始演員到另一個演員的手指之後的箭頭Libgdx
- 7. 在libgdx中按名稱獲取演員
- 8. Libgdx我想演員連接到旋轉組演員
- 9. Libgdx - Actions;向多個演員添加一個動作
- 10. LIBGDX在一個屏幕上製作5個不同的按鈕
- 11. 設置演員來監聽按鈕單擊LibGDX
- 12. Libgdx,演員中的視口
- 13. Libgdx - 對演員的行動
- 14. 在libgdx中伸展按鈕?
- 15. 擴展按鈕
- 16. Libgdx演員職位在添加另一個動作後重置
- 17. libgdx演員輸入不起作用
- 18. 如何直接提交按鈕到另一個動作
- 19. LibGDX-Scene2D:如何使用多個按鈕製作hud?
- 20. LibGDX - 如何讓我的按鈕工作?
- 21. LibGDX中有太多演員?
- 22. android libgdx用演員拍攝
- 23. libGDX演員draw()不叫
- 24. 在libgdx中禁用演員
- 25. Libgdx演員不輸入
- 26. libgdx演員touchHandling問題
- 27. 如何擴展按鈕的樣式?
- 28. 如何更改演員對話框的「停止演員」按鈕顏色?
- 29. 如何擴展超級演員在akka中的行爲
- 30. 兩個演員在一個表(libGDX)內的細胞
你可以這樣做正好。 – Barodapride