Создаем экран загрузки (Loader)

уроки, мануалы, советы по Construct 2

Сообщение Создаем экран загрузки (Loader)
» 26 мар 2013, 04:56

Создаем новый, пустой проект.
Изображение

Выставляем опцию "Use Loader layout" на YES.
Изображение

После этого, любой первый уровень становится экраном загрузки! Что значит первый? А всё очень просто! Первый уровень мы выбираем опять же в настройках проекта:
Изображение
У меня это просто "Layout 1". Вы можете создать over 9000 лэйаутов, но выбрать первым только один - он и будет являться экраном загрузки. При таком раскладе настройки стандартного экрана загрузки будут проигнорированы:
Изображение

Вот в принципе и всё! Теперь при загрузке игры будет отображено только то, что находится на первом лэйауте.
Когда я только начинал это тестировать - у меня ничего не работало. При запуске проекта - все равно сначала появляется стандартный загрузчик! Что за фигня? - Всё оказалось просто! Это работает только в экспортированном проекте. Т.е. не получится это проверить просто нажав F5. Так что имейте в виду!

Ну, ок, при загрузке нам показывают первый лэйаут... и что? Как сделать красивый прогресс-бар? В этом нам поможет выражение loadingprogress - оно возвращает прогресс загрузки от 0 до 1 с сотыми долями.
Таким образом, чтобы получить прогресс в процентах от 0 до 100% - нужно написать такое выражение: round(loadingprogress*100)
Выражение round() - округляет число до наибольшего целого. Это позволяет нам видеть 0..1..2..3, вместо 0,420...0,980...1,2...3,14 и т.д.
Давайте уже наконец посмотрим как это выглядит на практике!

Создадим объект - Текст.
Изображение
Изображение

Создадим событие, которое каждый тик будет задавать текст со значением loadingprogress.
Изображение

Если вы нажмете сейчас F5 - то увидите уровень с одним лишь текстом: "1"
Изображение
Не пытайтесь экспортировать - результат от этого не изменится, т.к. у нас во-первых нет уровня на который нужно переходить после загрузки, а во вторых наш проект настолько мал, что загружается быстрее чем вы сможете это заметить.

Для начала улучшим наш вывод текста. Туда, где мы писали loadingprogress, пишем: round(loadingprogress*100)&"%"
Теперь вывод будет от 0 до 100 и появится знак процента %.
Если мы сгорая от любопытства снова нажмем F5 - то увидим текст: "100%".

Это самое основное, что нужно знать! Всё крутится вокруг loadingprogress. Можно задавать размеры объектов исходя из loadingprogress, можно сделать вывод каких-то эффектов исходя из значения loadingprogress и т.п. Включаем фантазию! НО не забываем, что это не уровень, а экран загрузки... т.е. нужно использовать ничтожно малые элементы, чтобы сам этот экран загружался рекордно быстро.
Если вы будете использовать на нем много графики с дамами и преферансом - то до того как появится экран загрузки, пользователь будет наблюдать просто черный экран и вполне вероятно решит, что игра зависла. А если интернет еще медленный? В общем, сильно понтоваться здесь не стоит.

Ну, давайте сделаем простейшую полосу загрузки чтоли...
Создаем спрайт.
Изображение

Задаем ему маленький размер. Я сделал 16х16.
Изображение

Заливаем любым цветом. Я взял красный.
Изображение

Передвигаем его центр влево.
Изображение
Это нужно для того, чтобы при изменении величины Windth (ширина объекта) - он растягивался не с середины (симметрично от середины), а именно слева на право.

Передвигаем его куда-нибудь левее...
Изображение

Теперь идем в события и создаем следующее:
Изображение
Т.е. в данном случае мы тупо приравниваем ширину спрайта к проценту загрузки. Запускаем проект и видим:
Изображение

Теперь нужно создать событие, которое перенесет нас в игру, если она полностью загрузилась.
Всё просто. Создаем новый лэйаут.
Изображение

С2 спросит, нужен ли вам отдельный полигон событий для этого уровня? Да, нужен. Я предпочитаю разделять события для Лэйаутов.
Изображение

Создали? Появился Layout 2? - Ок, идем в события первого уровня и создаем там следующее:
Изображение

Теперь при окончании загрузки - нас выкинет на "Layout 2". В данном примере вы ничего не увидете, т.к. всё происходит моментально. Вот пример лоадера в моей игре: http://siriusx.ru/medved-i-shlyuxa-game.html (18+)
Здесь точно так же я сделал текст с процентами и добавил маленький спрайт посредине, задав ему поведение Rotate.

Исходник урока прилагаю.
loader.capx
(5.52 КБ) Скачиваний: 1026
Последний раз редактировалось virusfun 02 апр 2013, 13:23, всего редактировалось 2 раз(а).
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 891
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 124 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 26 мар 2013, 05:53

Спасибо за урок :ok: сейчас попробую :smile:
Изображение
Изображение
Изображение
Игры: Scrolonoid Покемошки
Исходники: 1, 2
Аватара пользователя

Игродел
Сообщений: 431
Я тут с 15 мар 2013
Откуда: Россия, Хабаровск
Skype: domenik236
Репутация 14 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 26 мар 2013, 06:47

А можешь для Construct Classic урок сделать?:)
Изображение
Изображение
Изображение
Игры: Scrolonoid Покемошки
Исходники: 1, 2
Аватара пользователя

Игродел
Сообщений: 431
Я тут с 15 мар 2013
Откуда: Россия, Хабаровск
Skype: domenik236
Репутация 14 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 26 мар 2013, 07:20

domenik236 писал(а):Construct Classic

Нет, я в нем не шарю.
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 891
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 124 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 26 мар 2013, 07:23

жаль
Изображение
Изображение
Изображение
Игры: Scrolonoid Покемошки
Исходники: 1, 2
Аватара пользователя

Игродел
Сообщений: 431
Я тут с 15 мар 2013
Откуда: Россия, Хабаровск
Skype: domenik236
Репутация 14 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 26 мар 2013, 14:00

virusfun, не экспериментровал на эту тему, теперь знаю где искать, + =)))
virusfun писал(а):Нет, я в нем не шарю.

Все то же самое, что и в C2, с совсем маленькими отличиями... =)
Аватара пользователя

Игродел
Сообщений: 405
Я тут с 08 янв 2013
Откуда: Мск
Репутация 205 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 26 мар 2013, 17:46

В СС невозможно создать загрузочный экран, но можно муляж сделать.
Аватара пользователя

Участник
Сообщений: 127
Я тут с 06 ноя 2012
Откуда: Лондон
Skype: aora2009
Репутация 2 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 27 мар 2013, 01:35

Ilyko96 писал(а):Все то же самое, что и в C2

Ну, не знаю.... Как-то в С2 многое изменили. В лучшую сторону.
Начинал то я с СС и долго не мог привыкнуть. Я уже и не вспомню что именно мне не понравилось, но начав изучать С2 - всё пошло как по маслу. Хз, как-то так.
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 891
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 124 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 27 мар 2013, 01:51

Construct 2 получается легче и удобнее?
Изображение
Изображение
Изображение
Игры: Scrolonoid Покемошки
Исходники: 1, 2
Аватара пользователя

Игродел
Сообщений: 431
Я тут с 15 мар 2013
Откуда: Россия, Хабаровск
Skype: domenik236
Репутация 14 [ ? ]

Сообщение Re: Создаем экран загрузки (Loader)
» 27 мар 2013, 03:13

domenik236 писал(а):Construct 2 получается легче и удобнее?

я бы не стал так однозначно утверждать, но чисто по субъективным ощущениям - да.
К тому же СС не поддерживается более... на него можно начинать забивать. Будущее за С2, а СС рано или поздно совсем вымрет. - это еще одна причина того, почему я за него не сильно взялся.
Большое спасибо всем, кто пишет мне респекты в ЛС! Очень рад, что до сих пор мои советы, примеры и уроки пользуются спросом... Но, к сожалению, я уже давно не занимаюсь разработкой игр и программированием вообще, поэтому я уже не лучший советчик в этом деле, да и времени совсем нет. Здесь на форуме я уже практически не бываю, но всегда открыт для общения в ВК: vk.com/virusfun
Но хоть меня здесь почти нет, мне все равно будут приятны ваши отзывы и плюсы [+]
Аватара пользователя

Игродел
Сообщений: 891
Я тут с 23 сен 2012
Откуда: Хабаровск
Репутация 124 [ ? ]



Вернуться в Уроки по Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх