Swift: Agar.io-ähnliche glatte SKCameraNode Bewegung?

9

Wenn jemand hier schon Agar.io gespielt hat, wirst du wahrscheinlich mit der Art vertraut sein, wie sich die Kamera bewegt. Je nach Entfernung der Maus von der Bildschirmmitte gleitet sie in Richtung Maus. Ich versuche, diese Bewegung mithilfe eines SKCameraNode und touchesMoved neu zu erstellen:

%Vor%

Überraschenderweise sieht das nicht so schlecht aus. Es gibt jedoch zwei Probleme damit.

Der erste ist, dass ich einen UIPanGestureRecognizer dafür verwenden möchte, da es viel besser mit mehreren Berührungen arbeiten würde. Ich kann mir einfach nicht vorstellen, wie das gemacht werden könnte, da ich keine Möglichkeit finde, die Entfernung von der Berührung zur Mitte des Bildschirms zu bringen.

Das zweite Problem ist, dass diese Bewegung nicht glatt ist. Wenn der Benutzer aufhört, seinen Finger für ein einzelnes Bild zu bewegen, gibt es einen großen Sprung, da die Kamera zu einem absoluten Halt springt. Ich bin schrecklich in Mathe, daher kann ich mir keinen Weg vorstellen, wie man einen schönen, sanften Verfall (oder Angriff) implementiert.

Jede Hilfe wäre fantastisch!

BEARBEITEN: Ich mache das jetzt:

%Vor%

Alles, was ich jetzt wissen muss, ist eine gute Möglichkeit, die Differenzvariable ab dem Zeitpunkt, an dem der Benutzer den Bildschirm berührt, gleichmäßig zu erhöhen.

BEARBEITEN 2: Jetzt mache ich das:

%Vor%

Kann mir bitte jemand helfen, bevor es schlimmer wird? Die Schwundvariable wird auf eine schreckliche Weise inkrementiert und es ist nicht glatt, und ich brauche nur jemanden, der mir einen kleinen Hinweis auf einen besseren Weg gibt, dies zu tun.

    
MysteryPancake 25.06.2017, 12:38
quelle

1 Antwort

2

Probieren Sie lineare Interpolation aus. Die lineare Interpolation kann dazu führen, dass Ihr Objekt im Laufe der Zeit langsam und gleichmäßig beschleunigt oder verlangsamt wird.

    
CMilby 18.08.2017, 13:13
quelle