Das ist mein Code zu versuchen und eine Wischgeste zu simulieren, also wenn ich auf Handy baue, weiß ich, dass es funktionieren wird. Nichts wird protokolliert und ich bin verwirrt darüber, warum es nicht zu funktionieren scheint. Ich möchte, dass es in der Konsole ausgedruckt wird, dass ich entweder RTL
(von rechts nach links) oder LTR
(von links nach rechts) gewischt habe. Ich sehe nicht, was ich falsch mache. Wischen Gestenrichtung erkennen
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;
}
}
Sie haben zu viele Überprüfungen, insbesondere die letzte (endPosition! = Null) kann nicht wahr sein. Benutze Flags statt Drag = true und drag = false – Everts