Сайт плохо выглядит? Почистите кэш! (Ctrl+F5)
  • Страница 1 из 1
  • 1
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Показ текста
Показ текста

Kostys

#1
Привет, у меня вот возник вопрос по поводу показа текста.

Кароч, если вкратце, я решил сделать что-то типа меню квестов, и чтобы там показывался текст названия и описания задания. 
Но у меня возникла проблема с отображением текста, т.к. если квестов > 1, то нужно размещать следующий квест чуть ниже.
Это можно, конечно, сделать вручную, но если у меня будет 20 квестов, то я запарюсь вот это все писать...
Есть ли какой то варик создать, например, list, чтобы первая цифра в нем, например, была первым квестом, который отображается самым первым, а потом если добавить еще, то вторая отображалась уже ниже, ну и если убрать самую первую, то остальные тоже сместились выше? 
Я пока не видел такого урока или хотя бы совета в интернете, поэтому кто знает, подскажите, пожалуйста. 

Ну а вообще такое чувство, что я пишу только для пользователя СОНЦЕ, ибо никто вообще не собирается отвечать мне здесь) Ну чтож, скажем ему спасибо)

СОНЦЕ

#2
вот варик. тут цифры вместо листа, но не должно составить труда подменить

Код

screen viewport_vbox_list:
    viewport:
        scrollbars 'vertical'
        pos 400, 50
        xsize 500
        ysize 500
        vbox:
            textbutton 'close' action Return()
            for i in range(50):
                text str(i)



источник
вкратце -
vbox - следит чтоб каждая следующая строчка отображалась ниже
viewport - это если квестов будет больше чем на страницу чтоб можно было прокрутить

а ренпи вопросы как раздел форума пока не взлетел. все тусят вон в той теме и возможно ответять ыстрее
@son_tse, @lena_borodach, @lena_chunks

Kostys

#3
Цитата СОНЦЕ ()
не должно составить труда подменить
Да нет, нифига, я подставил туда список, а команда range выдает мне числа зачем-то, смотря сколько я туда поставлю, столько и выдает
Ну например, у меня есть q = ["a", "b", "c"] и когда я использую range(3) показывает от 0 до 2 числа, они мне нафиг не нужны
Посмотрел в инете, предлагали range(0, len(q)) сделать, но тоже не работает и показывает абсолютно то-же самое, что и тут
Поэтому как раз  таки не понятно)

СОНЦЕ

#4
Мне просто было лень придумать квесты в лист...


Код


init python:
    quests = ['поучить python','поучить listы в python','поучить циклы в python','поработать с listами в циклах в python']

screen viewport_vbox_list:
    viewport:
        scrollbars 'vertical'
        pos 400, 50
        xsize 500
        ysize 500
        vbox:
            textbutton 'close' action Return()
            for i in quests:
                text i
@son_tse, @lena_borodach, @lena_chunks

Kostys

#5
Цитата СОНЦЕ ()
Мне просто было лень придумать квесты в лист...Код

init python:
    quests = ['поучить python','поучить listы в python','поучить циклы в python','поработать с listами в циклах в python']

screen viewport_vbox_list:
    viewport:
        scrollbars 'vertical'
        pos 400, 50
        xsize 500
        ysize 500
Насчет заданий полностью согласен - мне еще учить и учить этот питон, так что спасибо за подсказку, если заработает, конечно, потому что я рандомно кликая, вроде, уже такое пробовал, и нифига, ну щас попробую прям скопировать)

Kostys

#6
Цитата СОНЦЕ ()
init python:    quests = ['поучить python','поучить listы в python','поучить циклы в python','поработать с listами в циклах в python']
Чекнул я данную конструкцию, тут же quests[0] получается и он повторяется 4 раза
Если я ставлю все в отдельные [] то это уже уникод, а там я хз, ни map(str,q) не помогает, ни q.encode("utf-8")  или что там еще по запросам в поисковике выдавалось
Надеюсь, голову там еще не пробили от фейспалма? Потому что я новичок еще, пока что не пользовался листами в renpy и особенно ничего из уникода не конвертировал никуда
Так есть какой-то варик это все проделать?

Kostys

#8
Цитата СОНЦЕ ()
Боюсь даже спрашивать, но что конкретно у тебя в коде, и что конкретно ты хочешь получить в результате?
Да ничего особенного, в коде q = ["a", "b", "c", "d"] и я хочу, чтобы у меня было a b c d отдельно на каждой строчке, но прикол в том, что по идее их нужно поставить в еще одни скобки [] и получится q = [["a"], ["b"], ["c"], ["d"]], но тогда это unicode и когда это высвечивается, во-первых, все буквы смешиваются, а во вторых abcd печатаются с u/"a" и так далее символами до a
Ну вот мне нужно их как-то перевести из unicode в норм формат, но в инете ниче не нашел, а то, что нашел, попробовал и не получилось
Да и + посмотрел в интернете видео и нифига не понятно, а хотелось бы как-то подробнее про эту тему с переводами в другие форматы текста и с печатанием текста в viewport

СОНЦЕ

#9
Код
init python:
    q = ['a','b','c','d']

screen viewport_vbox_list:
    viewport:
        scrollbars 'vertical'
        pos 400, 50
        xsize 500
        ysize 500
        vbox:
            for i in q:
                text i

label main_menu:
    return
label start:
    call screen viewport_vbox_list
    return




примечание:

Прикрепления: 8477869.png(14.7 Kb) · 3071646.png(26.9 Kb)
Сообщение отредактировал СОНЦЕ - Вторник, 12/Май/2020, 05:38
@son_tse, @lena_borodach, @lena_chunks

Kostys

#10
Цитата СОНЦЕ ()
for i in q:                text i
А, ну да, я как всегда невнимательно напечатал и поставил "text q")))))
Спасибо, что поправили, надо что-то с этой внимательностью делать уже cry А если серьезно, спс)
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Показ текста
  • Страница 1 из 1
  • 1
Поиск: