Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание проекта в Construct 2






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

Для начала создадим слой «Login», на котором будет располагаться поле для ввода имени, кнопка «Играть». Настроим его следующим образом:

Дальше, на этом слое создаём поле для ввода имени, кнопку и загрузочный текст, который будет появляться во время отправки данных, и назовём их «name_input», «login_button», «load_text». Настроим их следующим образом:

В объекте «name_input» в поле Placeholder пишем «Введите ваше имя».

Кнопке «login_button», изменяем текст на «Играть».

А тексту «load_text» добавляем поведение Sine.

И настраиваем его следующим образом:

Далее, установим текст на «Загрузка…», сделаем его изначально невидимым, изменим размер текста и позиционирование:

Размещаем объекты примерно так:

Также добавляем объекты «AJAX» и «Function». После этого идём в редактор событий и добавляем переменную «player_name» и константу «SERVER»:

В переменной «player_name» мы будем хранить имя пользователя, а в константе – «SERVER» ссылку на наш вебсайт.

Далее, добавляем следующее:

Здесь мы проверяем, пуста ли строка для ввода имени, если да, то делаем кнопку «Играть» неактивной, а если же там есть текст, то делаем кнопку активной.
При клике на кнопку «load_button» идёт вызов функции «load_array», которая будет загружать наш массив.

Теперь будем реализовывать загрузку нашего массива, для этого добавляем следующее:

Здесь мы реализовали отправку запроса на скрипт «load_array.php», при вызове функции, сделали поле для ввода имени и кнопку невидимыми, а загрузчик – видимым.

Теперь сделаем обработку данных, которые нам вернул скрипт.

Arr_inv – это массив в котором хранятся все данные инвентаря.

Если запрос был отправлен, и скрипт вернул «empty», то переменная с именем пустая, и пользователь должен ввести его заново.

Если сервер вернул «error», то на сервере случилась ошибка, и мы изменяем текст загрузчика на «Ошибка сервера».

Если сервер вернул «none», то в базе данных нет записи с таким именем, поэтому мы заполняем массив инвентаря стартовыми данными.

Если сервер вернул JSON строку, то заполняем этими данными наш массив. А если при отправке запроса произошла ошибка, то изменяем текст загрузчика на «Ошибка сервера».

Ну, вот и всё, с загрузкой массива с базы данных разобрались. Теперь осталось сделать сохранение массива, чем мы сейчас и займёмся. Для начала нам нужно создать кнопку «Сохранить» на слое «Spr_slot».

Назовём кнопку «save_button», изменим текст на «Сохранить» и сделаем её изначально невидимой.

Теперь идём в редактор событий и делаем так, чтобы когда исчезал слой «Login», наша «save_button» становилась видимой.

Далее, в группу «UI» добавляем следующее событие: при клике на кнопку сохранения вызываем функцию «save_array», которая будет сохранять наш массив.

Теперь займёмся созданием самой функции, для этого добавим следующее:

Здесь мы реализовали отправку запроса с именем и массивом на скрипт «save_array.php». При вызове функции «save_array» и сделали слой «Login» видимым, а все объекты на нём, кроме, «load_text» невидимыми. Теперь сделаем обработку данных, которые вернул скрипт.

Если запрос был отправлен, и скрипт вернул «empty», то не все данные были отправлены, поэтому мы показываем пользователю сообщение об ошибке.

Если скрипт вернул «error», то на сервере случилась ошибка, и мы показываем сообщение об ошибке.

Если сервер вернул «done», это значит, что всё прошло успешно, массив сохранён, мы показываем сообщение что всё прошло успешно.

Если сервер вернул что-то непонятное, то на сервере произошла ошибка, и мы выводим соответствующее сообщение.

А если запрос не был отправлен, то мы показываем сообщение об ошибке.

Ну, что же, с проектом в Construct 2 закончили, теперь нам осталось настроить базу данных и написать серверную часть.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.