Произвольный текст выводится с помощью метода display.newText, параметры для которого задаются двумя способами. В любом случае нам понадобится сам текст, координаты его положения, шрифт и размер. Шрифт будем использовать встроенный системный, он задаётся через ключевое слово native.systemFont.
display.newText(weightGroup, "Укажите вес в килограммах", display.contentCenterX, 90, native.systemFont, 24);
Первым параметром идёт название группы, она должны быть создана ранее через метод display.newGroup, в противном случае будет выведена ошибка. Если группировать ничего не надо, то этот параметр опускаем. Второй параметр — это сам текст в кавычках; третий и четвёртый — координаты x и y центра текста; пятый — имя шрифта; шестой — размер текста.
Параметры можно задавать в другом формате, тогда последовательность параметров уже значения не имеет, поскольку мы пишем их названия.
local myWeight = display.newText({
parent = weightGroup,
text = "40",
x = display.contentCenterX, y = 53,
font = native.systemFont,
fontSize = 50,
});
Текст будет отображаться в любом случае, поэтому сами решайте, какой формат вам нравится больше — подрбный или компактный.
Кстати, можно использовать свой собственный шрифт, это достаточно просто. Скопируйте TTF-файл с выбранным шрифтом в папку приложения (там, где находится main.lua) и впишите имя файла шрифта вместо native.systemFont. Расширение добавлять не нужно.
display.newText(weightGroup, "Укажите вес в килограммах", display.contentCenterX, 90, "Bankir-Retro", 24);
Перезапустите эмулятор обязательно, иначе новый шрифт применяться не будет.
Наш код постепенно дополняется новыми переменными и элементами. Добавим ещё минимальный и максимальный вес, в пределах которых пользователь может менять значение — от 40 до 140 килограмм включительно. Эти переменные понадобятся нам также при создании слайдера. Пока же при запуске приложения будем выводить значение, указанное в переменной weightMin. Окончательный код следующий.
weightMin = 40; -- минимальный вес
weightMax = 140; -- максимальный вес
weight = weightMin; -- вес пользователя
-- прячем строку состояния
display.setStatusBar(display.HiddenStatusBar);
-- фон приложения
display.setDefault("background", 37/255, 39/255, 46/255);
-- цвет текста по умолчанию
display.setDefault("fillColor", 0);
-- ширина контента
w = display.contentWidth - 20;
-- Вес
------------------------------------------------------------------
-- создаём группу для ввода веса
local weightGroup = display.newGroup();
-- добавляем круг
display.newCircle(weightGroup, display.contentCenterX, 74, 60):setFillColor(244/255);
-- прямоугольник со скруглёнными уголками
display.newRoundedRect(weightGroup, display.contentCenterX, 110, w, 100, 10):setFillColor(244/255);
-- выводим текст
display.newText(weightGroup, "Укажите вес в килограммах", display.contentCenterX, 90, native.systemFont, 24);
-- выводим текущий вес
local myWeight = display.newText({
parent = weightGroup,
text = weight,
x = display.contentCenterX, y = 53,
font = native.systemFont,
fontSize = 50,
});
-- меняем цвет текста
myWeight:setFillColor(0/255, 131/255, 202/255);
Эмулятор показывает следующий результат.
Вывод текста