我正在製作一個像pong一樣的遊戲,除了用戶控制兩個手柄並且試圖保持球被綁定。我正在使用觸摸來控制兩個槳。我分配了觸摸的指數的方法是像這樣:在Unity中觸摸輸入更新不起作用
public void checkTouchIndex() {
if (Input.touchCount <= 1)
{
touchPos = Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position);
if (touchPos.x < 0)
{
Debugger.il = "Touch Index = 0";
myTouch = Input.GetTouch(0);
}
}
if (Input.touchCount >= 1)
{
touchPos = Camera.main.ScreenToWorldPoint(Input.GetTouch(1).position);
if (touchPos.x < 0)
{
Debugger.il = "Touch Index = 1";
myTouch = Input.GetTouch(1);
}
}
else
Debugger.il = "Side not touched";
}
這裏是移動的實際槳代碼:
public void checkMovementTouch() {
if (Input.touchCount > 0)
{
//assigns touch index
checkTouchIndex();
touchPos = Camera.main.ScreenToWorldPoint(myTouch.position);
if (touchPos.x > 0)
{
//Begin Section: Touch left side
if (touchPos.y > 0)
{
//moves upwards
move(true);
}
else
{
//moves downwards
move(false);
}
//End of section
}
}
}
注:Debugger
只是出在哪一方的屏幕文本被觸及和觸摸的x位置。但是我有更新的困難。你應該可以拖動你的手指並讓槳跟着它,但是在經過一些測試之後,我注意到只有一個槳正在正確地更新以跟隨手指,並且它總是索引爲1的槳。
例如,如果我觸摸乘坐側,然後將另一個手指放在左側。我將能夠正確地上下拖動我的左側,但右側,即使我上下移動,仍然會保持放置狀態。
問題:我怎樣才能使兩個槳完美地更新。
此檢查觸摸索引代碼在槳本身上? – Allen
@艾倫是的 – Luke