Урок №2 - Несколько языков в проекте

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

Полезен ли этот урок:

Да, очень полезен
12
39%
Да, познавательно
17
55%
Так себе
2
6%
Нет, ничего нового
0
0%
Нет, отвратительно
0
0%
Всего голосов : 31

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 18:15

В этом уроке мы создадим меню игры, научимся правильно использовать и читать файлы конфигурации (ini), а также применим выбор языка используя их.

 Урок №2
LessonTwo.capx
(451.33 КБ) Скачиваний: 80

Нам потребуется:

 Изображение
Изображение
 Описание
1. Изображения - лежат они в папке Details.
2. Файлы конфигурации - поговорим о них ниже.
3. Программа Notepad ++, весит мало, умеет много. Качайте с оф. сайта, поддерживает все ОС.
4. Ну и собственно сам движок Construct 2. Плагинов качать никаких не надо, последняя версия подойдет.
 Ресурсы
Details.rar
(177.37 КБ) Скачиваний: 73

1. Создание файлов конфигурации (ini).

 Изображение
Изображение
 Описание
1.1 Откроем Notepad ++. Первый файл будет содержать русский перевод контекста игры. Запишем название меню и его пунктов, всего должно получиться 6 строк. В конце каждой строки ставим знак ; Он будет обозначать конец строки.
1.2 Сохраним наш файл с именем rus и расширением ini.
1.3 Также создадим еще два файла ukr.ini и usa.ini, естественно с переводом на украинский и американский языки. Аткроем С2. Создадим новый проект. Закинем наши файлы в С2 ПКМ (правый клик мыши) -> Files -> Import files.

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

 Изображение
Изображение
 Описание
2.1 Создадим спрайт Language и три анимации к нему rus,ukr и usa. Скопируем и вставим два идентичных спрайта. В графе Initial animation укажем название анимаций для каждого язака - rus, ukr и usa. Разместим их аккуратно внизу нашей сцены.
2.2 Создадим 6 текстовых блоков - 1 под название меню и 5 под названия его пунктов. Разместим их так как нам требуется в виде игрового меню. Название меню сверху, а его пункты внизу. Так же в проекте нам потребуются плагины AJAX и Touch.

3. Написание эвентов.

 Изображение
Изображение
 Описание
3.1 Нам потребуется глобальная текстовая переменная Language. Присвоим ей значение "rus".
3.2 При старте сцены, загружаем данные из нашего конфигурационного файла, в зависимости от переменной Language. Т.к. значение Language по умолчанию у нас равно "rus", то при запуске проекта у нас будет загружаться файл rus.ini - System -> Language="rus" | AJAX -> Request rus.ini (tag "language").
3.3 После успешного выполнения запроса AJAX запишем данные в наши текстовые блоки - AJAX -> On "language" completed | Text -> Set text to tokenat(AJAX.LastData,0,";"). tokenat(AJAX.LastData,0,";") - выводим 1 строку (в С2 отсчет идет с 0, а в Notepad ++ с 1) из нашего файла до знака ;. С остальными текстовыми блоками совершаем те же действия, но добавляем функцию replace - Text1 -> Set text to replace(tokenat(AJAX.LastData,1,";"),newline,""). В конфигурационных файлах каждый текстовый блок мы записывали с новой строки для того чтобы не достичь предела символов строки - 1024. Соответственно, при выводе нижних строк будут отображаться и наши переходы на новую строку. Для того, чтобы переходы не выводились мы и используем замену newline на "".
3.4 При нажатии на наш спрайт мы изменяем глобальную переменную language на название проигрываемой анимации и обновляем нашу сцену. Теперь сцена загрузится с новыми параметрами.

Использование конфигурационных файлов позволяет держать всю необходимую (текстовую и не только) информацию отдельно от основного шаблона проекта, что делает его менее громоздким и более читабельным. Количество строк в файле у нас не ограничено, поэтому мы можем использовать их для по настоящему глобальных проектов. Если у кого возникли вопросы или предложения, просьба писать в л.с. Ждите новых уроков. Для вас работал KrashtreaT - SSP.
Последний раз редактировалось krashtreat 15 июн 2015, 20:08, всего редактировалось 1 раз.
Изображение

Карантин
Сообщений: 433
Я тут с 14 май 2015
Откуда: Север
Skype: vladimiragent
VK: krashvstreat
Репутация 84 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 19:38

Может сделать поменьше всё-таки жирного текста? И выделить ключевые слова...
Аватара пользователя

Модератор
Сообщений: 2153
Я тут с 11 окт 2013
Откуда: Челябинск
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 223 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 19:41

endermAH писал(а):Может сделать поменьше всё-таки жирного текста?

"Жирный" он только в названиях, предисловии и послесловии... :pleasantry:
Изображение

Карантин
Сообщений: 433
Я тут с 14 май 2015
Откуда: Север
Skype: vladimiragent
VK: krashvstreat
Репутация 84 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 19:48

krashtreat, я думаю это уже много.

Я уже не говорю про цвет всех твоих сообщений
Аватара пользователя

Модератор
Сообщений: 2153
Я тут с 11 окт 2013
Откуда: Челябинск
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 223 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 19:54

endermAH писал(а):я думаю это уже много. Я уже не говорю про цвет всех твоих сообщений

Надеюсь это не запрещено?... :mad:
Изображение

Карантин
Сообщений: 433
Я тут с 14 май 2015
Откуда: Север
Skype: vladimiragent
VK: krashvstreat
Репутация 84 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 19:55

krashtreat писал(а):Надеюсь это не запрещено

Можно запретить :biggrin: Просто лично мне глаза режет.
Аватара пользователя

Модератор
Сообщений: 2153
Я тут с 11 окт 2013
Откуда: Челябинск
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 223 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 20:00

endermAH писал(а):Просто лично мне глаза режет.

Так и задумано, "Бордо" называется. Призван привлекать внимание в сочетании с белым и название звучное. По поводу самого урока есть замечания?..
Изображение

Карантин
Сообщений: 433
Я тут с 14 май 2015
Откуда: Север
Skype: vladimiragent
VK: krashvstreat
Репутация 84 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 20:15

krashtreat писал(а): Призван привлекать внимание в сочетании с белым

Мне наоборот не хочется читать.
krashtreat писал(а):По поводу самого урока есть замечания?..

Есть. Зачем столько текстовых объектов?! Почему нельзя создать один с числовой локальной переменной, в которой лежит номер слова и потом for each'ем присваивать каждому токенатом с использованием этой переменной?
Аватара пользователя

Модератор
Сообщений: 2153
Я тут с 11 окт 2013
Откуда: Челябинск
Двиг: С2
Лицензия: Pirate
VK: night_silent
Репутация 223 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 15 июн 2015, 20:20

endermAH писал(а):Зачем столько текстовых объектов?! Почему нельзя создать один с числовой локальной переменной, в которой лежит номер слова и потом for each'ем присваивать каждому токенатом с использованием этой переменной?

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

Карантин
Сообщений: 433
Я тут с 14 май 2015
Откуда: Север
Skype: vladimiragent
VK: krashvstreat
Репутация 84 [ ? ]

Сообщение Урок №2 - Несколько языков в проекте
» 16 июн 2015, 19:14

endermAH писал(а):Зачем столько текстовых объектов?! Почему нельзя создать один с числовой локальной переменной, в которой лежит номер слова и потом for each'ем присваивать каждому токенатом с использованием этой переменной?

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

Администратор
Сообщений: 2406
Я тут с 06 сен 2012
Откуда: Санкт-Петербург, Южно-Сахалинск
Skype: sirg1987
Репутация 268 [ ? ]



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

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

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

Наверх