2016-05-16 1 views
0

Я стараюсь читать все почту как 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/ и другие, и до сих пор не понимаю, что это лучший способ?Unity 5 - 2D игра - отдельные сцены против панели

Сцены против панелей.

Я лично делаю сцены лучше - я чувствую отдельные уровни.

Игра, в которой я пытаюсь написать знакомые для конфет и как я понимаю, они используют сцены - потому что из карты, чтобы играть в новые матчи, вы видите экран загрузки - я думаю, что это какая-то сцена.

Спасибо

+0

использование сцены. Canvas предназначен только для вашего «UI» (такие кнопки, как «Play!» «Quit!» И т. Д.) – Fattie

+0

@JoeBlow Да, вы правы. Холст для пользовательского интерфейса. Я думаю, что такие игры, как Candy Crush, являются одним из немногих исключений, где вы можете и, если возможно, использовать пользовательский интерфейс. В игре нет физики. Все, что он делает, это отображение изображения/текста, и вы нажимаете на них, чтобы переключать их ... Хотя я не думаю, что это подходящее место для публикации этого вопроса. – Programmer

+0

Вы знаете, это, наверное, так, что я или я мог бы сделать конфетную игру в .UI! Я думаю, что идея не является полезной педагогически: OP просто не понимает, что «не для чего нужен пользовательский интерфейс», вы знаете (ОП путается, я бы сказал ...) – Fattie

ответ

2

, потому что с карты играть новые матчи GAM вы видите экран загрузки

Потому что вы видите экран загрузки не означает, что игра на самом деле laoding сцену. Любой может поместить экран загрузки, выполняя что-то еще, например загрузку AssetBundles, а не загрузку сцены.

Ваш вопрос будет связан только с ответом на мнение, так как у вас действительно нет проблем.

У меня есть свои правила, которые я использую после экспериментов с Unity.

Если вы делаете 3D-игру с цветной картой, обычной картой, картой высоты и другими текстурами, используйте сцену. Отделите сцены, чтобы ускорить загрузку каждого уровня.

Теперь, если вы делаете 2D-игру так же просто, как конфеты Crush, которая использует несколько Sprites и Images, просто используйте Canvas/Panels. Сделать Уровень 1 as parent Canvas GameObject. Для уровень 2, просто дублируйте Уровень 1 родительский Canvas, переименуйте его в Level 2, затем внесите в него небольшие изменения. Вы можете переключать уровни на , позволяя и отключить родительский Canvas GameObjects.

Это очень упростит вашу 2D-игру. Вы можете легко сравнить то, что два уровня выглядят, включив/отключив их. Вам не нужно загружать другую сцену, чтобы получить другой уровень. Также загрузка сцены требует времени, но это устраняет это.

Другим преимуществом этого является то, что вы всегда можете преобразовать родительский элемент Canvas каждого уровня в prefab, а затем импортировать его на другой уровень, если хотите начать использовать сцены.

+0

Спасибо! С его помощью. – David

+0

Только 1 вопрос - уровень 1 и уровень 2 - вы имеете в виду - уровень 1 его карта - уровень 2 - его игровое представление, правильно? – David

+0

@David Например, на этом изображении http://i.stack.imgur.com/13mHW.png, вы настраиваете свой интерфейс так, но называете их Level1Canvas, Level2Cavas, Level3Canvas, Level4Canvas. Только один уровень может быть включен одновременно. Чтобы включить другой уровень, просто отключите текущий с помощью 'Level1Canvas.SetActive (false);' затем включите следующий уровень с помощью 'Level2Canvas.SetActive (true);'. Это легко и, вероятно, правильно, так как Candy Crush, как игры, использует мало спрайтов. Все ваши изображения должны быть помещены под каждым уровнем Canvas GameObject. Например, поместите все вещи первого уровня внутри/под Level1Canvas. – Programmer

 Смежные вопросы

  • Нет связанных вопросов^_^