2016-05-15 4 views
1

Ich verwende SceneKit für ein Spiel.Schnittstelle für die Kamera auf Scene Kit

An einem bestimmten Punkt muss ich ein Menü anzeigen. Das Menü hat einen Hintergrund, Schaltflächen und Texte, wie von einem Menü erwartet.

Angenommen, dieses Menü wurde mit UIKit erstellt. Wenn dies der Fall wäre, hätte das Hintergrundbild die Bedingungen für "Führen/Nachfahren/Oben/Unten", um jede Seite an eine Seite des Bildschirms zu kleben. Wie mache ich das mit SceneKit? Ich möchte, dass der Hintergrund unabhängig von der Bildschirmgröße an den vier Seiten des Bildschirms angebracht wird (iPhone 4, 5, 6, 6+).

Um einfache Dinge, die Kamera ist orthographisch, wenn das Menü zeigt. Ich denke, die Methode würde die Kamera so positionieren, dass ihre Seiten auf das Hintergrundpolygon passen. Oder, wenn nicht möglich, eine Möglichkeit, die Größe einer Ebene zu berechnen, die auf einem bestimmten x, y, z ist, muss den Bildschirm vollständig ausfüllen.

Alles muss mit SceneKit getan werden. Kein UIKit.

Gibt es eine Möglichkeit, das zu tun?

HINWEIS: Das gesamte Menü wird in SceneKit erstellt.

Antwort

1

Die SCNView, die Ihren SCNScene anzeigt, ist eine Unterklasse von UIView. Daher können Sie vier Abhängigkeiten verwenden, um jede Seite Ihres Menüs an die Seiten von SCNView anzuhängen, und die Konstanteneigenschaft einer Integritätsbedingung verwenden, um die Ansicht ein- und auszublenden. Fügen Sie einfach die Menüansicht zur SCNView-Superansicht hinzu und es wird über die Szene angezeigt.

+0

Ich bin mir nicht sicher, ob meine Frage klar genug ist. Ich denke, es ist nicht, weil Ihre Antwort zu implizieren scheint, dass das Menü UIKit ist. Ich füge die Information zu der Frage hinzu, dass das Menü alles in SceneKit erstellt wird. Ist Ihre Antwort in diesem Fall gültig? Danke und Entschuldigung, wenn die Frage dich in die Irre geführt hat. – SpaceDog

+1

Es spielt keine Rolle, was Sie in der Menüansicht setzen. Es kann ein anderes SCNView mit Ihren benutzerdefinierten Steuerelementen oder eine Standardschnittstelle sein, die mit UIKit erstellt wurde. Andys Herangehensweise funktioniert in beiden Richtungen. Sie können jedoch überlegen, ob Sie overlaySKScene von SCNView verwenden und die Schnittstelle in SpriteKit verwenden. Auf diese Weise werden Sie wahrscheinlich bessere Bildraten sehen. –

+0

Die Lösung löst das Problem nicht aus einem Grund: Die Technik zeigt, wie eine Ansicht auf das Fenster zentriert wird, aber nicht, wie die Objekte auf einer Ansicht zentriert werden. – SpaceDog