Форум Anivisual закрыт. Вы не можете создавать новые темы или писать ответы. Форум будет работать в режиме архива.
Пользователи · Поиск по форуму · · · Регистрация

  • Страница 23 из 23
  • «
  • 1
  • 2
  • 21
  • 22
  • 23
Форум о визуальных новеллах » Записи участника » СОНЦЕ [333]
Результаты поиска

СОНЦЕ

#331 | Тема: Как во время игры поменять меню?
Код


init:
    default persistent.zamena = 1

screen main_menu_1():
    tag menu
    style_prefix "main_menu"
    add gui.main_menu_background
    frame:
        pass
    use navigation                
    text 'ОРИГИНАЛЬНОЕ МЕНЮ' align (.5,.5) size 40
    
screen main_menu_2():
    tag menu
    style_prefix "main_menu"
    add gui.main_menu_background
    frame:
        pass
    use navigation                
    text 'ЗАМЕНЕННОЕ МЕНЮ' align (.5,.5) size 40

screen main_menu_3():
    tag menu
    style_prefix "main_menu"
    add gui.main_menu_background
    frame:
        pass
    use navigation                
    text 'СОВСЕМ ЗАМЕНЕННОЕ МЕНЮ' align (.5,.5) size 40
  

screen main_menu:
    if persistent.zamena == 3:
        use main_menu_3
    elif persistent.zamena == 2:
        use main_menu_2
    else:
        use main_menu_1

init python:
    def zamena_switch(x):
        x+=1
        if x>3: x = 1
        return x

label start:
    'Превед'
    'Я злая игра'
    menu:
        'поменять интерфейс':
            $persistent.zamena = zamena_switch(persistent.zamena)
            'интерфейс изменен'
        'ниче не делать':
            pass
            
    'Ну и ладно'
    return
    

СОНЦЕ

#332 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
TestGameHentai

не удалось воспроизвести ошибку, но из кусочков предоставленнного кода кажется получилось сделать чтоб работало. проверь

Код
default cpl = ''
define player = Character("[cpl]", color="#ffffff")

init python:
    input_name = VariableInputValue('cpl',returnable = True)

screen charname(prompt):
    modal True
    frame:
        background Frame("#000000")
        align (0.5,0.5)
        xsize 600 ysize 350
        vbox:
            xfill True
            yfill True
            text prompt xalign 0.5
            input id "input" value input_name xalign 0.5
            hbox:
                xalign 0.5
                textbutton("Подтвердить"):
                    action Return(cpl)

label start:

label namepl:    
    "Как же меня зовут?"
    $ cpl = renpy.input("Назовите себя:", screen="charname", length=24, exclude="'\{\}\[\]@.,<>\"\|/№#$;%^:&?*()_=+1234567890`~").strip()
    #$ cpl = _return
    jump test
    return

label test:
    "..."
    if cpl == "":
        "\[Требуется ввести имя\]"
        jump namepl
    else:
        "Точно."
        jump next
        
label next:   
    player "Меня зовут [cpl]."
    return



lf2mr

тут я честно говоря плаваю, и вероятно есть более правильное решение, например через команду on
но там в интерфейсе по умолчанию все сложно, потому я обычно костылирую через timer

Код

screen myscreen:
    timer .01 action Function(myfunc)


Но возможно следует вообще пересмотреть логику функции и сделать ее более благоприятной для движка, тоесть чтобы оно не делало что-то гловально вне языка скринов
цитирую:
Цитата

Screens must not cause side effects that are visible from outside the screen. Ren'Py will run a screen multiple times, as it deems necessary. It runs a screen as part of the image prediction process, before the screen is first shown. As a result, if running a screen has side effects, those side effects may occur at unpredictable times.

Using Python generators in screens may cause unpredictable results. This traces back to an issue with the way the Python interpreter compiles Python source code that will be used in a screen context. Generators can be used in Python functions called from a screen, but not in the screen itself.
Форум о визуальных новеллах » Записи участника » СОНЦЕ [333]
  • Страница 23 из 23
  • «
  • 1
  • 2
  • 21
  • 22
  • 23
Поиск: