Ich habe ein Sprite in einem 2D -Handyspiel in Einheit und versuche, diesen Sprite mit meinem Finger zu berühren und zu ziehen, damit sich das Sprite genau dort bewegen sollte, wo der Finger auf dem Bildschirm berührt wird. Das Problem ist jedoch, dass das Sprite immer hinter dem Finger auf dem Bildschirm zurückbleibt. Wenn ich den Finger mit sehr schnellen Geschwindigkeiten bewege, wird das Sprite verzögert. Das Sprite muss in seiner Bewegung sehr unmittelbar sein und an dem Punkt auf dem Bildschirm anwesend sein, wo der Finger berührt wird (das Sprite wird von der Fingerberührung zu jeder Zeit gezogen), es ist für das Spiel sehr wichtig. < BR /> Ich habe den folgenden Code ausprobiert: < /p>
void Update()
{
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position);
touchPosition.z = 0f;
if (touch.phase == TouchPhase.Began)
{
touchOffset = transform.position - touchPosition;
}
transform.position = touchPosition + touchOffset;
}
}
< /code>
In diesem Fall hat das Sprite eine Verzögerung bei sehr schnellen Geschwindigkeiten von Finger -Touch und Drag. Die Geschwindigkeit ist für das Spiel sehr wichtig und der Sprite sollte immer vorhanden sein, wo der Finger auf dem Bildschirm berührt wird.
Ich habe ein Sprite in einem 2D -Handyspiel in Einheit und versuche, diesen Sprite mit meinem Finger zu berühren und zu ziehen, damit sich das Sprite genau dort bewegen sollte, wo der Finger auf dem Bildschirm berührt wird. Das Problem ist jedoch, dass das Sprite immer hinter dem Finger auf dem Bildschirm zurückbleibt. Wenn ich den Finger mit sehr schnellen Geschwindigkeiten bewege, wird das Sprite verzögert. Das Sprite muss in seiner Bewegung sehr unmittelbar sein und an dem Punkt auf dem Bildschirm anwesend sein, wo der Finger berührt wird (das Sprite wird von der Fingerberührung zu jeder Zeit gezogen), es ist für das Spiel sehr wichtig. < BR /> Ich habe den folgenden Code ausprobiert: < /p> void Update() { if (Input.touchCount > 0) { Touch touch = Input.GetTouch(0); Vector3 touchPosition = Camera.main.ScreenToWorldPoint(touch.position); touchPosition.z = 0f; if (touch.phase == TouchPhase.Began) { touchOffset = transform.position - touchPosition; } transform.position = touchPosition + touchOffset; } } < /code> In diesem Fall hat das Sprite eine Verzögerung bei sehr schnellen Geschwindigkeiten von Finger -Touch und Drag. Die Geschwindigkeit ist für das Spiel sehr wichtig und der Sprite sollte immer vorhanden sein, wo der Finger auf dem Bildschirm berührt wird.
ein das Recht. Ich möchte jedoch offensichtlich die Animation nach links drehen, wenn er nach links geht (2D-Seiten-Scroller). .x , das nur das Sprite umdreht. Nicht der Animationsclip. (Dies...
Ich implementieren eine RecyclerView mit mehreren Ansichtstypen und benötigte für bestimmte Elemente einen Sticky-Header. Um dies zu erreichen, habe ich eine ItemDecoration verwendet, um den...
Ich entwickle eine automatische Klickanwendung für Android. Ich habe es bereits geschafft, schwimmende Schaltflächen usw. zu erstellen usw. Jetzt versuche ich, ein Touch-Ereignis zu simulieren. class...
Ich bin sehr neu in JavaScript als Ganzes, geschweige denn React-native und Expo. Als ich mehr davon gelernt habe, habe ich angefangen, Projekte zu machen. Ich bemerke jedoch, dass ich, wenn ich die...
Ich verwende InputTransformation In JetPack komponieren Sie die Benutzereingabe in einem BasicTextField . Die Transformation funktioniert korrekt, aber der Cursor bleibt in derselben Position,...