2016-05-16 8 views
0

wir lesen versuchen, alle Post wie http://forum.unity3d.com/threads/scenes-vs-canvases-vs-panels.279890/ http://forum.unity3d.com/threads/with-new-ui-separate-scenes-or-just-separate-panels.281013/ und anderen und immer noch nicht verstehen, was besserer Weg?Einheit 5 - 2D-Spiel - einzelne Szenen vs Platten

Szenen vs Panels.

Ich bin persönlich Sache Szenen ist besser - ich fühle getrennte Ebenen.

Ein Spiel, das ich versuche, vertraut zu candy crush zu schreiben und wie ich verstehe sie Szenen verwenden - weil von der Karte, um neue Spiele zu spielen, sehen Sie Ladebildschirm - ich denke, das ist eine Szene.

Danke

+0

Szenen verwenden. Canvas ist nur für Ihre "UI" (Schaltflächen wie "Play!" "Quit!" Usw.) – Fattie

+0

@JoeBlow Ja, Sie haben Recht. Canvas ist für die Benutzeroberfläche. Ich denke, dass Spiele wie Candy Crush eine der wenigen Ausnahmen sind, wo man die Benutzeroberfläche benutzen kann und wenn möglich. Das Spiel benötigt keine Physik. Alles, was es tut, ist Bild/Text anzuzeigen und Sie klicken darauf, um sie umzuschalten ... Obwohl ich nicht denke, dass dies der richtige Ort ist, um diese Frage zu stellen. – Programmer

+0

Wissen Sie, es ist wahrscheinlich wahr, dass Sie oder ich ein Candy-Spiel in der .UI! Ich denke, die Idee ist nicht pädagogisch sinnvoll: Das OP merkt einfach nicht, dass "nicht was UI ist", weißt du (OP ist durcheinander, würde ich sagen ...) – Fattie

Antwort

2

von Karte, weil neue Spiele spielen Sie Bildschirm

Weil du ein Ladebildschirm bedeutet nicht, siehe Laden Gam, dass das Spiel eine Szene tatsächlich Aufladungstyp. Jeder kann einen Ladebildschirm aufsetzen, während er etwas anderes tut, wie zum Beispiel AssetBundles lädt und die Szene nicht wirklich lädt.

Ihre Frage wird nur zur Antwort der Meinung führen, da Sie wirklich kein Problem haben.

Ich habe meine eigenen Regeln, die ich benutze, nachdem ich mit Unity experimentiert habe.

Wenn Sie ein 3D-Spiel mit Farbkarte, normaler Karte, Höhenkarte und anderen Texturen erstellen, verwenden Sie Szene. Trennen Sie die Szenen, um das Laden jedes Levels zu beschleunigen.

Jetzt, wenn Sie ein 2D-Spiel so einfach wie Candy Crush machen, die wenige Sprites und Images verwendet, verwenden Sie einfach Canvas/Panels. Make Level 1 als Eltern Canvas GameObject. Für Ebene 2, einfach duplizieren Stufe 1 Eltern Canvas, benennen Sie sie in Ebene 2 dann ein wenig Änderungen daran vornehmen. Sie können die Ebenen um aktivieren aktivieren und deaktivieren die Eltern Canvas GameObjects.

Dies macht die Änderung Ihres 2D-Spiels sehr einfach. Sie können einfach vergleichen, wie zwei Ebenen aussehen, indem Sie sie aktivieren/deaktivieren. Sie müssen keine andere Szene laden, um ein anderes Level zu erhalten. Auch das Laden der Szene braucht Zeit, aber das beseitigt dies.

Ein weiterer Vorteil besteht darin, dass Sie das Canvas-übergeordnete Element jeder Ebene immer in ein Prefab konvertieren und dann in eine andere Ebene importieren können, wenn Sie stattdessen Szenen verwenden möchten.

+0

Danke! Es ist hilfreich. – David

+0

Nur noch 1 Frage - Level 1 und Level 2 - du meinst - Level 1 seine Karte - Level 2 - ihre Spielansicht, richtig? – David

+0

@David Zum Beispiel, in diesem Bild http://i.stack.imgur.com/13mHW.png, haben Sie Ihre UI so eingerichtet, aber benannten sie Level1Canvas, Level2Cavas, Level3Canvas, Level4Canvas. Es kann immer nur 1 Ebene aktiviert sein. Um eine andere Ebene zu aktivieren, deaktivieren Sie einfach die aktuelle mit 'Level1Canvas.SetActive (false);' aktivieren Sie dann die nächste Ebene mit 'Level2Canvas.SetActive (true);'. Dies ist einfach und wahrscheinlich der richtige Weg, da Candy Crush-ähnliche Spiele nur wenige Sprites verwenden. Alle Ihre Bilder sollten unter jede Ebene Canvas GameObject gestellt werden. Zum Beispiel, lege alle Zeug der Stufe 1 in/unter Level1Canvas. – Programmer