Вывод текста

Произвольный текст выводится с помощью метода 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);

Эмулятор показывает следующий результат.

Вывод текста

Вывод текста

Автор: Влад Мержевич
Последнее изменение: 04.08.2023