Mit den Touch-Eingängen kann ich ein Spielobjekt ziehen. Aber was ich tun muss ist, (nach dem Loslassen des Ziehens) die Geschwindigkeit des Ziehens zu überprüfen und das Objekt ein wenig weiter bewegen zu lassen. Wenn ich also das Objekt schnell ziehe und loslasse, bewegt es sich nach dem Loslassen etwas in die gezogene Richtung. So wie es jetzt ist, bleibt es einfach an der Stelle stehen, wo ich meinen Finger entferne. Wer weiß, wie das gemacht wird?Unity ios ziehen mit Lockerung
Was ich habe, ist jetzt:
private Vector3 dist, distEnd;
float posX;
float posY;
void OnMouseDown() {
dist = Camera.main.WorldToScreenPoint (transform.position);
posX = Input.mousePosition.x - dist.x;
posY = Input.mousePosition.y - dist.y;
}
void OnMouseDrag()
{
Vector3 curPos = new Vector3 (Input.mousePosition.x - posX, Input.mousePosition.y - posY, dist.z);
Vector3 worldPos = Camera.main.ScreenToWorldPoint (curPos);
transform.position = worldPos;
}
void OnMouseUp() {
distEnd = Camera.main.WorldToScreenPoint (transform.position);
}
Dann habe ich eine RigidBody2d zum Objekt - versuchen, Kraft, um es hinzuzufügen - aber ich denke, ich brauche die Geschwindigkeit und Richtung der Drag/Maus zu berechnen - vor Ich kann Richtungskraft dem Objekt hinzufügen?
GetComponent<Rigidbody2D>().AddForce (Vector2 (FORCE_DIRECTION_X, FORCE_DIRECTION_Y));
Aber ich habe Schwierigkeiten, Richtung und Geschwindigkeit des Ziehens zu berechnen.
Jede Hilfe wird geschätzt!
Danke.
Sicher, wir wissen, aber können Sie als Probe geben Ihrer Code, um eine Basis für die Antwort zu bilden? –
Sorry - hier der Code den ich bisher habe. –