我的標題可能不是很清楚(不知道如何解釋它),但我一直在努力尋找一個遊戲界面,試圖找到最好的方式來獲得好的命中檢測我的步行按鈕。這是最終的結果應該是什麼樣子:三角形按鈕(libgdx)更好的命中檢測
我嘗試的第一個辦法是給每個三角形在它自己的獨立和公正的使用按鈕爲每個但問題是我來到這個是一個圖像需要在矩形形狀內部,因此4個按鈕之間有重疊,向左移動可能會觸發向上按鈕,因此我決定嘗試其他方法。
第二種方法是把整個圖像作爲一個按鈕,然後手動設置每個按鈕的y和x,但我能想到的唯一方法是通過循環以便能夠有一些準確觸摸的感覺和這個想法只是感覺有點馬虎。
下面是一個例子,但x和y的比例是完全錯誤的,我只是不知道如何計算它的一個三角形:
btnMove.addListener(new InputListener()
{
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button)
{
//this basically only cuts the image in half... I was thinking of cutting more from there
//but I'm really not sure how to cut it exactly because of the triangle
if(y > 38 && x > 22)
{
player.playerJump();
return true;
}
else if(y < 38 && x < 22)
{
player.playerDodge;
return true;
}
return false;
}
});
我曾嘗試搜索互聯網,但我真的上找不到太多,所以我會很感激我可以實現的任何想法。順便說一句,我幾乎忘了提及我在libGdx中使用scene2d(如果它不清楚)。
感謝您花時間閱讀本文,我知道可能有太多文字,我只是不太擅於解釋我的問題。
一個按鈕的「整個圖像」聽起來像是正確的方法。你能分享一些你想出來的代碼嗎? (即,您使用該按鈕註冊的聽衆)。從一個按鈕的觸摸,你應該能夠計算它登陸在哪個季度。 –
好的,我會添加它,但我的問題是我不知道如何計算一個好方法,我知道如何獲得x和y,我能夠使用它們,但我不知道如何限制每個按鈕,因爲它是一個三角形,所以我想也許我應該循環獲取邊界或其他東西,但仍然不確定... –