Как выровнять текст по правому краю? — Поддержка и обсуждение игрового движка
Сообщество художников BlenderСараноске (Борис Коштель)
1
Как выровнять текст по правому краю? Он автоматически выравнивается по левому краю в игре.
Я не видел возможности его изменить. Есть ли что-нибудь, чтобы изменить это или вам нужно использовать python?
Дэйв (Дэйв)
2
Вполне уверен, что вы можете просто изменить масштаб по горизонтальной оси на -1. В любом случае, есть такой простой трюк.
Сараноске (Борис Коштель)
3
Хм, похоже, это не работает.
Дэйв (Дэйв)
4
blendenzo.comblendenzo.com — Учебники по BGE — Выровненный по правому краю текст
Сараноске (Борис Коштель)
5
Спасибо, а мой текст перевернулся?
oldText = str(j['Number']) деф реверстекст (старый текст): длина = длина (старый текст) новый текст = "" для x в диапазоне (длина): новыйтекст += старыйтекст[(длина-1)-x] вернуть новый текст собственный ['Текст'] = обратный текст (стр (j ['Число']))
РЕДАКТИРОВАТЬ: Кажется, для текстового объекта требуется перевернуть нормали, и я не знаю, как это сделать.
Единственное, что мне немного помогло, это вот это, но это не идеально:
own['Text'] = str(j['Number']).rjust(5, '0')
RPпаладин
6
Привет @Saranoske,
У меня есть 3 предложения.
выводов
[привет мир] [ Привет, мир ] [привет мир]
1 Нравится
(эддеркоп)
8
или, если у вас высокий балл, где вы хотите, чтобы ведущие нули
оценка = 1234 распечатать(f"{оценка:0>8}") выходы: 00001234
1 Нравится 9SyntaxError: неверный синтаксис
Я использую Blender 2. 79b, и кажется, что у него более старая версия Python, в которой такой код не поддерживается.
эддеркоп (эддеркоп)
10
тогда используйте старый формат
txt = 1234 печать («{: 0> 8}». формат (txt))
1 Нравится
Сараноске (Борис Коштель)
11
Спасибо, это работает, но похоже, что это то же самое:
print(txt.rjust(5, '0'))
Есть ли способ сделать эти 0 невидимыми? Пустое пространство слишком короткое для этого и создает впечатление, что оно выровнено по центру.
эддеркоп (эддеркоп)
12
Сараноске:
Есть ли способ сделать эти 0 невидимыми? Пустое пространство слишком короткое для этого и создает впечатление, что оно выровнено по центру.
просто удалите 0 из строки формата
txt = 1234 печать ("{:> 8}". формат (txt))
Сараноске (Борис Коштель)
13
Да, это работает, но я использую текстовый объект в Blender. При этом кажется, что он выровнен по центру.
С 0 все в порядке.
Эддеркоп (эддеркоп)
14
как выглядит ваш код
Сараноске (Борис Коштель)
15
txt = ул (собственный ['Число']) собственный['Текст'] = "{:0>5}".format(txt)
или без нулейown['Text'] = "{:>5}".format(txt)
Это в основном то, что вы предложили.
Проблема в пустом месте. Слишком коротко.
эддеркоп (эддеркоп)
16
Я использовал это в прошлом без каких-либо проблем.
Сараноске (Борис Коштель)
17
Здесь нет проблем, это пробел из-за слишком короткого шрифта.
эддеркоп (эддеркоп)18
, затем используйте другой шрифт, например моноширинный, текстовый объект блендера имеет ограничения.
Сараноске (Борис Коштель)