これはスワイプジェスチャーをシミュレートしようとする私のコードなので、モバイルに構築するとうまくいくことがわかります。何もログに記録されておらず、なぜ動作しないように思われるのか混乱しています。私はRTL
(右から左)またはLTR
(左から右)のいずれかをスワップしたものをコンソールに出力したい。私は何が間違っているのか分かりません。スワイプジェスチャー方向を検出する
void Update()
{
if (Input.GetMouseButtonDown(0))
{
startPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
if (Input.GetMouseButtonUp(0))
{
endPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
if (startPosition != endPosition && startPosition != Vector3.zero && endPosition != Vector3.zero)
{
float deltaX = endPosition.x - startPosition.x;
float deltaY = endPosition.y - startPosition.y;
if ((deltaX > 5.0f || deltaX < -5.0f) && (deltaY >= -1.0f || deltaY <= 1.0f))
{
if (startPosition.x < endPosition.x)
{
print("LTR");
}
else
{
print("RTL");
}
}
startPosition = endPosition = Vector3.zero;
}
}
チェックが多すぎます。特に最後のチェック(endPosition!=ゼロ)は真ではありません。 – Everts