Simulation eines Bildschwebeeffekts mit CoreMotion / DeviceMotion auf dem iPhone

9

Ich habe eine Reihe von Bildern in einem ViewController.

Ich "fliege" sie, indem ich ihre einzelnen Schichten transformiere:

%Vor%

Dies bewirkt, dass die Ebenen über dem Bildschirm schweben - im Simulator gibt es keinen sichtbaren Effekt (was korrekt ist).

Was ich tun möchte, ist ein Effekt, bei dem das Bewegen eines Geräts nach links / rechts / vorne / hinten es so aussehen lässt, als würden die Ebenen schweben. Wenn Sie das Gerät nach links neigen, sollte es die gesamte Ansicht nach rechts winkeln. Dadurch fühlt es sich an, als würde man mit dem Gerät um Ecken herumsehen - dh es wird das Gefühl vermittelt, dass die Bilder wirklich über dem Bildschirm schweben, weil sie sich mit unterschiedlichen Geschwindigkeiten bewegen würden (basierend auf ihrem Z-Index).

Ich habe ein Testprojekt gemacht ( Projektdatei hier ), die ein Beispielprojekt hat, das dies demonstriert .

Mein Problem ist, dass ich keine Mathe-Person bin, also kämpfe ich mit dem besten Weg, den subtilen Schwebeeffekt zu simulieren. Im Moment habe ich einen Listener für DeviceMotion, der dann:

%Vor%

Das ist sehr nah an dem, was ich will, aber es ist nicht genau richtig.

Ich denke, dass dieser Effekt in einer Reihe von verschiedenen Anwendungen verwendet werden kann. Ich hoffe, dass ich dies auf etwas ausweiten kann, mit dem ein Freund und ich gerade arbeiten, um Gesichtserkennung zu ermöglichen (so dass die Elternansicht auf der Bewegung des Gesichts einer Person basiert - auch wenn sie das Telefon / Gerät vollkommen ruhig halten). p>

Mir ist klar, dass ich Leute antworten werde, die "OpenGL verwenden". Das ist nicht die Antwort, die ich brauche - es sei denn, Sie veröffentlichen einen Codeabschnitt, der zeigt, wie Sie ihn in dieses Projekt integrieren. (Ich suche keine neuen Probleme zu lösen.: -)

Auch hier ist das komplette Projekt ( iphone floating views ) für jeden, der es sehen möchte der Effekt, wie es jetzt ist. (Wenn das klappt, werde ich das ganze (Arbeits-) Projekt verlassen, das hier für die Nachwelt verbunden ist.)

    
Jeffrey Berthiaume 16.03.2011, 16:59
quelle

1 Antwort

5

Ich denke, ich habe das! Verwenden Sie dies:

%Vor%

Funktioniert wie Charme für mich, wenn Sie Achsen umdrehen möchten, fügen Sie einfach Minuszeichen vor diesen 1en hinzu.

    
Bartosz Ciechanowski 26.03.2011, 14:33
quelle