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

  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Форум о визуальных новеллах » Записи участника » progxaker [40]
Результаты поиска

progxaker

#16 | Тема: [ПЕРЕВОД] Простая интерактивная сеточная карта
Я работал над этим для одной из моих игр и подумал, что выпущу ее на случай, если кому-то еще будет интересно. Это сеточная карта, где каждый "квадрат" скрыт, пока игрок не посетит эту область. Вы можете увидеть карту из игрового меню (нажав Escape).

Вы также можете нажать на отдельные квадраты карты, чтобы перейти к "label"(метке), соответствующей этому местоположению. Прямо сейчас у меня есть все квадраты, возвращающиеся к метке "start", но вы можете изменить это в соответствии со своими потребностями.

Чтобы добавить код в *вашу* игру, вам необходимо скопировать следующие файлы в вашу папку с "игрой":
- mapscreen.rpy
- mapcomp.rpy
- скопировать папку "map"(карта), которая по умолчанию содержит мои изображения.

В дополнении, вам нужен этот код в начале вашего скрипт-файла(script.rpy):
Код
init python hide:
    for file in renpy.list_files():
        if file.startswith('map/') and file.endswith('.png'):
            name = file.replace('map/', '').replace('.png','')
            renpy.image(name, Image(file))

Он просто определяет все изображения без необходимости делать это вручную.

Этот блок кода тоже нужен вам в начале вашего скрипт-файла:
Код
init -2 python:
    map_a1 = "hidden"
    map_a2 = "hidden"
    map_a3 = "hidden"
    map_a4 = "hidden"
    map_a5 = "hidden"
    map_a6 = "hidden"
    map_a7 = "hidden"

    map_b1 = "hidden"
    map_b2 = "hidden"
    map_b3 = "hidden"
    map_b4 = "hidden"
    map_b5 = "hidden"
    map_b6 = "hidden"
    map_b7 = "hidden"

    map_c1 = "hidden"
    map_c2 = "hidden"
    map_c3 = "hidden"
    map_c4 = "hidden"
    map_c5 = "hidden"
    map_c6 = "hidden"
    map_c7 = "hidden"

    map_d1 = "hidden"
    map_d2 = "hidden"
    map_d3 = "hidden"
    map_d4 = "hidden"
    map_d5 = "hidden"
    map_d6 = "hidden"
    map_d7 = "hidden"

    map_e1 = "hidden"
    map_e2 = "hidden"
    map_e3 = "hidden"
    map_e4 = "hidden"
    map_e5 = "hidden"
    map_e6 = "hidden"
    map_e7 = "hidden"

Он устанавливает части карты, как скрытые. Если вы хотите, чтобы «домашний» квадрат или иной, показывалось с самого начала игры, установите для этого квадрата значение «found»(найдено), а не «hidden»(скрыто).

Если ваша игра еще не настроена с быстрым меню, вам нужно будет добавить его.

Добавьте этот код в конец вашего файла screens.rpy:
Код
##############################################################################
# Игровое меню
#
# Экран, который появляется, когда игрок нажимает кнопку Escape.

image logo = "logo.jpg"

screen game_menu:
    tag menu
    
    add "logo"
    
    frame:
        xalign .5
        yalign .33
        
        has vbox spacing 5
   
        textbutton _("Continue") action Return()
        textbutton _("Save Game") action ShowMenu("save")
        textbutton _("Load Game") action ShowMenu("load")
        textbutton _("Map") action ShowMenu("map")
        textbutton _("Preferences") action ShowMenu("preferences")
        textbutton _("Main Menu") action MainMenu()
        textbutton _("Help") action Help()
        textbutton _("Quit") action Quit()


Затем добавьте этот код *после* метки start.
Код
$ _game_menu_screen = "game_menu" # Этот код активирует "pause menu"(меню паузы) в screens.rpy


После этого всё должно пойти хорошо! Код под лицензией Creative Commons, поэтому вы можете использовать его по своему усмотрению.


Скачать можно тут или в прикреплённых самой теме.
Автор на Lemma Soft: noeinan
Тема на Lemma Soft: тут
Перевёл: progxaker
Сообщение отредактировал progxaker - Пятница, 04/Окт/2019, 12:47
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#17 | Тема: [ПЕРЕВОД] Создаём кнопку пропуска видео
Привет!  joke 

После нескольких неудачных попыток создать кнопку пропуска видео, я смог создать решение, которое до сих пор работает отлично. Здесь я поделюсь кодом для тех, кто хочет использовать эту функцию, а также улучшить её. Вспомнил, что использовало класс «Movie ()», потому что «renpy.movie_cutscene ()» не поддерживал этот метод.
Не забудьте удалить/заменить то, что написано между хэштегом "#".
Я надеюсь, вы понимаете мой английский перевод от Google!

В screens.rpy:
Код
screen skipbutton:

    modal True  #предотвращает взаимодействие с мышью и несколько другими клавишами#

    key "K_h" action Hide("nonexistent_screen")   #предотвращает скрытие экрана#
    key "K_f" action Hide("nonexistent_screen")   #предотвращает переключение его в полноэкранный режим#
    key "mouseup_2" action Hide("nonexistent_screen")   #предотвращает скрытие экрана#

    add ui.timer(movieTime, ui.jumps("skipmovie"))   #изменяет "movieTime"(время видео) по времени видео в секундах или около того#

    imagebutton idle "buttoniIdle.png" hover "buttonHover.png" #параметры положения кнопки# focus_mask True action Jump("skipmovie")
    #переименуйте файл кнопки-изображения#


В script.rpy(может быть использовано в другом файле используя "init"):
Код
image movie = Movie(size=(1024, 768))   #измените значения  change the values в соответствии с разрешением видео#


В некоторых скрипт-файлах игры, создайте label(метку) для вызова, когда воспроизводиться видео:
Код
label videotoplay:   #change "videotoplay" to the name you want#

    $ movieTime = #время видео в секундах(с плавающей точкой)#
    show movie
    play movie #название видео(файла)#
    show screen skipbutton   #для активации экрана кнопки пропуска#

    $ renpy.pause(hard=True)  #в конечном итоге предотвратить игру без завершения видео#
return

label skipmovie:

    hide screen skipbutton   #отключает экран кнопки пропуска#
    stop movie
    hide movie
return


Во время игры, вызовите label(метку) видео:
Код
call videotoplay



Автор на Lemma Soft: williamd1k0
Тема на Lemma Soft: тут
Перевёл: progxaker
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#18 | Тема: Under Pretense of Death
Цитата PekaQueen ()
Мы забыли упомянуть, что все наши персонажи анимированны :)

Конечно это может быть придирка, но задняя лапка снизу движется немного странно) И можно добавить анимацию главного персонажа сюда, как опубликовано в ВК?

Фон красивый) Хочу поинтересоваться данная игра будет выпущенная как Free-To-Play или же нет? Если нет, то будет демка?
Ещё хотелось бы, чтобы этапы развития игры были видны не только на форуме AniVisual, но и в проектах.
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#19 | Тема: Under Pretense of Death
Цитата PekaQueen ()
progxaker, спасибо за фидбек) Лапка я думаю не критично, поэтому пока оставим так.

Да было бы за что) Удачи в разработке, хе-хе.
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#20 | Тема: [ПЕРЕВОД] 3D камера движения и другое(см. в теме)
Original title: 3D camera motion, Action Editor, Transform and Image Viewer
Перевод: 3D камера движения, редактор действий, обозреватель трансформаций и изображений.




https://github.com/kyouryuukunn/renpy-ActionEditor
Я сделал 3D камера движения и обозреватель трансформаций на Ren'Py.
Вставьте скрипт в вашу папку с игрой и прочитайте документ.

Вы можете сказать последнюю версию скрипта на последней странице этой темы(оригинальной).
Автор на Lemma Soft: akakyouryuu
Тема на Lemma Soft: тут
Перевёл: progxaker
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#21 | Тема: [ПЕРЕВОД] Ввод текста на экране
Обновление: я добавил вторую версию(кликни, чтобы ввести) Здесь больше решений, но я выбрал свой, найдя более простой и он работает. Я прикрепил его снизу.

Итак, вечность назад Я согласился выпустить руководство экранного ввода текста, но я отложил её на некоторое время, поэтому я создал действительно простую версию, которую вы легко можете приспособить к своим игровым стандартам. Любые вопросы или ошибки, пожалуйста дайте мне знать.

Вы можете менять позиции, использовать изображения и делать их очень крутыми.

Этот текстовый ввод работает, когда наводите курсор на поле, а затем печатаете, пока он находится над блоком. Затем вы можете переместить курсор в следующее поле, чтобы начать там печатать. Вам не нужно кликать. Хотя, если кто-то знает конкретный код для его создания, чтобы вы нажимали вместо наведения, пожалуйста, сообщите мне об этом joke

Я вставлю сюда код, но я также загружу файлы, которыми вы можете напрямую управлять.

Эта простая версия выглядит так:


Определите функции для создания строки, а также переменные, которым вы будете назначать строки
Код
init python:
    def name_func(newstring):
        store.firstname = newstring

        
    def lastname_func(newstring):
        store.lastname = newstring

init:
    default firstname = " "
    default lastname = " "


Это просто кнопка, которая открывает экран
Код
screen open_screen:
    textbutton "open" action Show("text_input_screen")


Затем, наконец, экран с вводом текста
Код
screen text_input_screen():
    frame:
        #xysize (300,200)
        xpos 250
        ypos 100
        vbox:
            hbox:
                text "{size=+5}First Name"
                button:
                    id "input_1"
                    xysize (250,25)
                    action NullAction()
                    #hover_sound ""
                    add Input(hover_color="#3399ff",size=28, color="#000", default=firstname, changed=name_func, length=10, button=renpy.get_widget("text_input_screen","input_1")) yalign 1.0
            hbox:
                text "{size=+5}Last Name"
                button:
                    id "input_2"
                    xysize (250,25)
                    action NullAction()
                    #hover_sound ""
                    add Input(hover_color="#3399ff",size=28, color="#000", default=lastname, changed=lastname_func, length=10, button=renpy.get_widget("text_input_screen","input_2")) yalign 1.0
            hbox:
                textbutton "Done" action Hide("text_input_screen")


Это довольно просто! Я надеюсь, что это поможет всем, кому было интересно, как добавить информацию, не помещая ее в диалоговое окно.

Версия "кликни, чтобы ввести"


### В оригинальной теме есть приложения, где можно скачать коды о которых была речь.

Автор на Lemma Soft: namastaii
Тема на Lemma Soft: тут
Перевёл: progxaker
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#22 | Тема: Ошибка после монтирование игры на телефон
Есть некоторые решения данной проблемы:
1. Удаление комментариев, если они на кириллице(источник);
2. Неправильный шестнадцатеричный код(источник);
3. Неверная кодировка в одном из файлов(источник);
P.S. Возможно модуль(моё предположение).
4. Один из файлов/папки назван кириллицей(моё предположение).

Не помогут - продолжу копать.
Сообщение отредактировал progxaker - Воскресенье, 06/Окт/2019, 10:21
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#23 | Тема: Ошибка после монтирование игры на телефон
Binart2345, не за что) Можно попросить добавить "[РЕШЕНО]" в название темы?
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#24 | Тема: [ПЕРЕВОД] Галерея персонажей основанная на "Справке"
Эта запись предполагает, что вы знаете, как сделать простую галерею, как указано в https://www.renpy.org/doc/html/rooms.html?highlight=gallery#Gallery

т.е. вы понимаете
Код
init python:

    # Шаг 1. Создайте объект галереи.
    g = Gallery()

    # Шаг 2. Добавьте кнопки и изображения в галерею.

    # Кнопку с изображением, которая всегда доступна.
    g.button("coulson shooting")
    g.image("coulson shooting")


Он берет копию экрана "Справка" из обычного проекта Ren'Py и преобразует в галерею персонажей, где вместо устройств, мы указываем имена персонажей. Я начну с нового файла с именем "gallery.rpy" (это должно выглядеть знакомо на экране help() в screens.rpy).

Код
screen gallery:

    tag menu

    default character = "coulson"

    use game_menu(_("Gallery"), scroll="viewport"):

        style_prefix "character_gallery"

        vbox:
            spacing 23

            hbox:

### ИЗМЕНИТЕ ЭТО КАК ВАМ УГОДНО

                textbutton _("Phil Coulson") action SetScreenVariable("character", "coulson")
                textbutton _("Agent May") action SetScreenVariable("character", "may")
                textbutton _("Daisy") action SetScreenVariable("character", "daisy")

            if character == "coulson":
                use gallery_coulson
            elif character == "may":
                use gallery_may
            elif character == "daisy":
                use gallery_daisy

### ИЗМЕНИТЕ ЭТО КАК ВАМ УГОДНО КОНЕЦ

style character_gallery_button is gui_button
style character_gallery_button_text is gui_button_text
style character_gallery_label is gui_label
style character_gallery_label_text is gui_label_text
style character_gallery_text is gui_text

style character_gallery_button:
    properties gui.button_properties("character_gallery_button")
    xmargin 12

style character_gallery_button_text:
    properties gui.button_text_properties("character_gallery_button")

style character_gallery_label:
    xsize 375
    right_padding 30

style character_gallery_label_text:
    size gui.text_size
    xalign 1.0
    text_align 1.0


Для каждой галереи используйте это как пример

Код
screen gallery_coulson():
    style_prefix "character_gallery"

### РЕГУЛИРУЙТЕ ЭТУ СЕТКУ В СООТВЕТСТВИИ С КОЛИЧЕСТВОМ СТРОК, КОТОРЫЕ ВЫ ХОТИТЕ
    grid 3 1:

        xfill True

        # Вызывает make_button(сделать кнопку), чтобы показать конкретную кнопку.
        add g.make_button("coulson shooting", "coulson shooting thumbnail", xalign=0.5, yalign=0.5)
        add g.make_button("coulson riding lola", "coulson riding lola thumbnail", xalign=0.5, yalign=0.5)
        null


Чтобы получить миниатюру правильного размера, используйте следующую технику, чтобы вам не нужно было изменять размер изображения.

Код
image coulson shooting thumbnail:
     "coulson shooting"
     zoom 0.2


Автор на Lemma Soft: trajano
Тема на Lemma Soft: тут
Перевёл: progxaker
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#25 | Тема: [ПЕРЕВОД] Что-то вроде чит-кодов
Изображение
https://4.bp.blogspot.com/-F2podp....eat.jpg

Ссылка на архив с проектом
http://renpyfordummies.blogspot.com/2016/03/blog-post_18.html

Код
init python:

    money = 100
    # обводка
    style.default.outlines = [(2, "# 0008", 0, 0), (1, "# 0008", 0, 0)]

    # action(действие) для ввода и проверки читов
    def call_input ():
        code = input ("Enter the code:")
        if code == "1234":
            global money
            money + = 100
            message ("You conjured 100 money.")
        elif code is None:
            message ("You pressed cancel.")
        else:
            message ("Password is incorrect.")
    CallInput = renpy.curry (call_input)

#этот экран ждет нажатия кнопки табуляции
screen cheat:
    key "K_TAB" action CallInput ()
    # индикатор денюжек
    frame align (.95, .05) background "# 0008":
        text "$ [money]" color "# dd4" size 48

# Игра начинается здесь.
label start:
    scene bg
    show neko with dissolve
    # показать экран, который отлавливает кнопку чит-кода
    show screen cheat
    "Press TAB to enter the cheat code. And enter" 1234 "."
    "Game over."
    return


Автор на Lemma Soft: Andredron
Тема на Lemma Soft: тут
Перевёл: progxaker
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#26 | Тема: [ПРОЕКТ] Разыскивается команда для создания ВН!!
Хотелось бы увидеть больше артов, если не здесь, то в группе, так сказать, привлечь обывателей.
И может кусочек текста, хи-хи. Хотя, это лишнее. Могу пожелать хорошего развития игре, а также найти кодера)

P.S. Я ведь не просто интересуюсь тем, насколько серьёзная ВН  madness
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#27 | Тема: [ПЕРЕВОД] Настройка текстового поля

### Настройка текстового поля(основное GUI руководство)

Содержание:
● Использование рамок
● Использование предварительно установленных изображений
● Создание текстовых полей для персонажей
● Стилизация текста
● Стилизация имён
● Иконка "Click-to-Continue"(нажми, чтобы продолжить)

---

Перед тем, как мы сможем объяснить, как настраивать диалоговые окна, вам для начала нужно  его нарисовать. Самый простой способ сделать это - сделать макет диалогового окна в вашем фоторедакторе. Сделайте так, чтобы он выглядел именно так, как вы хотите, включая текст. Даже если потребуется немного больше работы, можно воссоздать большинство макетов.

Здесь есть два пути, как вы можете сохранить ваш дизайн, который будет включён в Ren'Py:
Рамки: Создайте окно, которая будет нарезана и измерена автоматически;
Предварительно установленные изображения: Просто вставьте изображение, которое вы создали, чтобы уже иметь желаемый размер.

1. Использование рамок

Диалоговое окно, которое использует Frames(Рамки) выглядит, как углы для изображения, и потом растягивает всё, что находится между ними, чтобы соответствовать пропорциям, которые вы даете в коде.


### Чуточку знания HTML и умением пользоваться Google - даёт нам посмотреть перенесённые изображения.
### Перевод фраз и надписей: "Size of corners" - "Размер углов", "Appearance in Ren'Py(not to scale)" - "Вид в Ren'Py(не масштабируется)", "You've created a new Ren'Py game." - "Вы создали новую Ren'Py игру."

Код
style.window.background = Frame("PinkBox.png", 25, 25)


Данная строчка кода уже есть в вашем options.rpy файле, кроме файла. Измените название и размер углов с информацией изображения. Не забудьте раскомментировать код, удалив перед ним знак #.

Конечно, Ren'Py не чинит автоматически мои поля или текст для меня! Прямо из новой игры, ваше новое диалоговое окно в рамке, потребует много доработок. Почти всё, что вам нужно, уже есть для вас, но это закомментировано.

Идём в ваш options.rpy файл. Находим эти строчки кода:
Код
## Поля - это пространство вокруг окна, где фон
    ## не рисуется.

    # style.window.left_margin = 6
    # style.window.right_margin = 6
    # style.window.top_margin = 6
    # style.window.bottom_margin = 6

    ## Отступы - это пространство внутри окна, где рисуется
    ## фон.

    # style.window.left_padding = 6
    # style.window.right_padding = 6
    # style.window.top_padding = 6
    # style.window.bottom_padding = 6

    ## Это минимальная высота окна, включая поля
    ## и отступы.

    # style.window.yminimum = 250


Снова, раскомментируйте то, что будете использовать, удалив знак #.

Поле окна указывает, как далеко диалоговое окно находится от краёв экрана. Вот как выглядит наш PinkBox с большими полями (отступы не тронуты):

### Перенесённое изображение.

Отступы окна показывает, насколько далеко текст находится от краёв диалогового окна. Вот как это выглядит с большим отступом (отступ по умолчанию):

### Перенесённое изображение.

yminimum заставляет окно иметь определенное количество пикселей в высоту. Используйте его, чтобы определить, какой высоты должно быть окно всё время (но он может стать выше, если это нужно). Это важное свойство для предварительно установленных изображений диалоговых окон.

С вашей новой рамкой в Ren'Py, вы можете поиграть с отступами и полями, пока все не будет выглядеть именно так, как вы этого хотите. Метод проб и ошибок, иногда является единственным путем здесь. Чтобы упростить свою жизнь, вы можете воспользоваться функцией обновления, нажав SHIFT + R, чтобы перезагрузить игру и сразу увидеть изменения.
Автор на Lemma Soft: Aleema
Тема на Lemma Soft: тут
Перевёл: progxaker

Продолжение следует...
Сообщение отредактировал progxaker - Понедельник, 07/Окт/2019, 19:29
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#28 | Тема: [ПЕРЕВОД] Настройка текстового поля
2. Использование предварительно установленных изображений

Другой тип легче реализовать, потому что вы уже разместили его так, как хотите, чтобы он выглядел, как в вашем фоторедакторе. Недостатком является то, что он не гибкий, и вам нужно будет создавать новые изображения для каждого изменения, которое вы хотите. Преимущество же - быстрота, лёгкость и вы получаете именно то, что хотите увидеть.

Чтобы упростить это для вас, НЕ обрезайте свое изображение до диалогового окна в вашем редакторе. Вместо этого, добавьте отступы по краю (до верхней части окна), чтобы вам не приходилось изменять поля в Ren'Py. Это значит, что полученное изображение должно быть таким же широким, как и ваша игра (по умолчанию: 800 пикселя).

Просто вставьте ваше имя файла в свойство style.window.background, которое уже есть в вашем options.rpy.

Вы должны будете убедиться, что ваш yminimum установлен точно на высоту вашего изображения, и что ваш отступ изменён так, чтобы он вписывался в ваше окно (опять же, метод проб и ошибок может быть единственным способом). Установите все поля на 0. Когда вы начнете игру, вы должны увидеть своё окно! Это было легко, не так ли?


В этом примере, вы можете видеть, что окно уже имеет свои поля в самом изображении. Высота изображения 155 пикселя, поэтому я установлю свой yminimum. Я также хочу убедиться, что текст начинается с 35-го пикселя слева, поэтому значение left_padding будет равно 35, и для симметрии он будет равен значению right_padding, и убедитесь, что текст никогда не выходит из поля, поэтому bottom_padding тоже 35. Если вы хотите. Вы можете просто убедиться, что вы никогда не пишите так много!

Если вам нужно отдельное окно для имён ваших персонажей, вы можете либо сохранить имя в виде отдельного файла (рекомендуется), либо включить его в диалоговое окно как одно большое изображение. Проблема с последним заключается в том, что вам нужно будет сделать две версии одного и того же изображения: одну с рамкой для персонажа, а другую без. Потому что рассказчик (когда ни один персонаж не говорит) будет странно выглядеть с пустым полем имени, лежащим рядом.
Автор на Lemma Soft: Aleema
Тема на Lemma Soft: тут
Перевёл: progxaker

Продолжение следует...

progxaker

#29 | Тема: [Услуги] 2D Художник (платно)
Выглядит хорошо) Если, вдруг, появится возможность показать ещё какие-то наработки или отдельные кадры из проектов, опубликуйте здесь. Очень хочется посмотреть.

P.S. И удачного поиска работодателя =)
"Ничто не может оставаться таким же вечно. И вещи, приносящие радость и счастье, тоже. Ничто не остается неизменным." - Фурукава Нагиса, CLANNAD

progxaker

#30 | Тема: [ПЕРЕВОД] Настройка текстового поля
3. Создание текстовых полей для персонажей

Чтобы сделать два (или больше) отличающихся версий вашего текстового поля, поставьте тот, который вы собираетесь использовать чаще всего, по умолчанию:

Код
style.window.background = "dialoguebox.png"


А потом, когда персонажи, которых вы хотите, имеют отличное от других поле(в данном случае рассказчик, потому что это не персонаж, у которого есть имя). Вы можете использовать функцию Frame(Рамки) с этим, тоже. просто скопируйте все, что вы сделали с кодом window.background и поместите его после window_background в имени вашего персонажа (изменив имя файла):
Код
$ narrator = Character(None, window_background="dialoguebox_noname.png")


Он должен сохранить все другие свойства, которые вы определили для окна по умолчанию.

Если вы обнаружите, что вам нужно внести определенные корректировки в текст каждого персонажа, вы должны добавить такие свойства в call вашего персонажа:

Код
$ a = Character('Name', window_top_padding=15)
    $ b = Character('Name', what_xpos=50)
    $ c = Character('Name', who_yalign=0.5)


Важная часть этого кода, являются префиксы "window_", "what_" и "who_" . Вы можете использовать любое свойство, которое хотите, но вы должны сообщить персонажу, что вы редактируете. «window_» - это свойство, которое редактирует всё окно, аналогично тому, что вы делали для style.window. what_ редактирует текст (что говорится), а who_ редактирует имя персонажа (кто это говорит).

Чтобы сохранить вас от нажатий клавиш, вы должны отформатировать стиль текста по умолчанию, чтобы вам не приходилось копировать / вставлять свои корректировки для каждого символа.

Автор на Lemma Soft: Aleema
Тема на Lemma Soft: тут
Перевёл: progxaker

Продолжение следует...
Форум о визуальных новеллах » Записи участника » progxaker [40]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: