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

Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ)
Помощь по Ren'Py (Вопрос\Ответ)

Admin

#1
Сюда пользователи сайта могут писать вопросы о тех или иных функциях движка Ren'Py, а мы попытаемся на них ответить:)

Ultra_Scream

#961
pirsus, исправь первую букву в init на маленькую вместо большой, я предполагаю, в этом ошибка. Python - язык регистрозависимый. Ren'Py, будучи написанным на нем, сохраняет это свойство.
Сообщение отредактировал Ultra_Scream - Четверг, 24/Дек/2020, 18:08
Зродились ми великої години
З пожеж війни, із полум'я вогнів
Плекав нас біль по втраті України
Кормив нас гнів і злість на ворогів

СОНЦЕ

#962
Цитата pirsus ()
чушь выдает
Init с большой буквы. Надо с маленькой.

апд: о, меня опередили, спасибо Ultra_Scream,
Сообщение отредактировал СОНЦЕ - Четверг, 24/Дек/2020, 18:16

СОНЦЕ

#964
по выданной части кода неочевидно почему, но подозреваю image по прежнему объявляется несклолько раз. не важно через переменную или напрямую через LiveComposite конструкцию. и так низя nbaka

буду настаивать на layeredimage

Код


define head = 1

layeredimage batgirl:
    always:
        'images/batgirl/regular/body1.png'

    group bottom:
        attribute pants default:
            'images/batgirl/regular/pants.png'            

    group top:
        attribute jaket default:
            'images/batgirl/regular/jaket.png'            

    if head == 2:
            'images/batgirl/regular/head2.png'
    elif head == 3:
            'images/batgirl/regular/head3.png'
    else:
            'images/batgirl/regular/head1.png'



таким образом картинка везде вызывается одной и той же переменной

show batgirl

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

$head = 2

pirsus

#965
Работает!

каеф! nlove  nlove  nlove

Добавлено (26.12.2020, 19:43)
---------------------------------------------
Снова нужна ваша помощь.
На этот раз застрял с imagemap



Код
label ggturn:

    $ result = renpy.imagemap("images/fight/fightback.png", "images/fight/fighthover.png", [
    (1680, 255, 175, 170, "headpunch"),
    (1680, 455, 175, 170, "bodypuch"),
    (1680, 655, 175, 170, "legpunch"),
    ], focus="imagemap")
    if result == "headpunch":
        $ hqhp -= 5
        $ hqhp -=
        [fightpower]jump harleyturn
    elif result == "bodypunch":
        $ hqhp -= 3
        $ hqhp -=
        [fightpower]jump harleyturn
    elif result == "legpunch":
        $ hqhp -= 3
        $ hqhp -=
        [fightpower]jump harleyturn

label harleyturn:
    $ harleypunch = renpy.random.randint(1,12)
    $ gghp -=
    [harleypunch]jump ggturn


Собственно вот сам код.
Ошибок не выдает.
Визуальную карту выводит.
Но кнопки неактивны. Не реагируют на наведение и нажатие

И сразу второй вопрос:
Если я из значения переменной вычитаю значение другой переменной,
Запись в квадратных скобках правильная?

Код
$ hqhp -= [fightpower]

Добавлено (26.12.2020, 20:04)
---------------------------------------------
Апдейт:

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

AxelK

#966
Такой вопрос: а способен ли ренпай гипотетически оперировать, например, 2 окнами?
То есть из основного окна игры, нажав кнопку, открыть еще одно со своим размером и с каким-нибудь интерактивным экраном внутри.

СОНЦЕ

#967
pirsus, пока отвечу на простое

Цитата pirsus ()
Если я из значения переменной вычитаю значение другой переменной,
Запись в квадратных скобках правильная?

Код
$ hqhp -= [fightpower]


неправильная, такая запись должна выдавать ошибку в любом случае, хотя имеет определенный философский подтекст ^^
Код
$ hqhp -= fightpower

думаю то что ты хочешь сделать делается вот так.

Остальную часть вопроса поизучаю как руки дойдут. Честно говоря такая реализация даже если и заработает устарела лет на 10 ^^ мне даже интересно откуда ты такое берешь nhehe

Цитата AxelK ()
Такой вопрос: а способен ли ренпай гипотетически оперировать, например, 2 окнами?
То есть из основного окна игры, нажав кнопку, открыть еще одно со своим размером и с каким-нибудь интерактивным экраном внутри.

можно, у меня например, командами питона паралельно запускался произвольный .exe с нужным окошком. возможно это можно сделать более изящно

AxelK

#968
СОНЦЕ, произвольный exe это не совсем то, что нужно. На всякий случай уточню, что имелось в виду создание окна с доступом к общим разделам памяти. Как самый простой пример: небольшое отдельное окошко, отображающее текущие предметы в наличии, то есть, при использовании их в игре, чтоб то второе окно могло реагировать на изменения инвентаря. Хотелось бы в идеале уткнуться в какой-то код, умеющий примерно это.

pirsus

#969
Я еще вот такую форму попробовал:

Код
label ggturn:

    imagemap:
        ground "fightback.png"
        hover "fighthover.png"

        hotspot (1680, 255, 175, 170) clicked Jump("headpunch")
        hotspot (1680, 455, 175, 170) clicked Jump("bodypuch")
        hotspot (1680, 655, 175, 170) clicked Jump("legpunch")

Но тут он мне выдает ошибку

Код
File "game/harlyfight.rpy", line 214: expected statement.
    imagemap:
            ^

Ren'Py Version: Ren'Py 7.3.5.606
И тут я, хоть убей, не пониманию, в чем ошибка.
Все отступы перепроверил.

AxelK

#970
   
Код
imagemap:
        idle "fightback.png"
        ground "fightback.png"
        hover "fighthover.png"

        hotspot (1680, 255, 175, 170) action Jump("headpunch")
        hotspot (1680, 455, 175, 170) action Jump("bodypuch")
        hotspot (1680, 655, 175, 170) action Jump("legpunch")

или

Код

  hotspot (1680, 255, 175, 170):
            hovered NullAction()
            clicked Jump("headpunch")

Ultra_Scream

#971
pirsus, если сказать словами - а товарищ AxelK показал правильные варианты - для Ренпи отступ всегда должен состоять из четырех пробелов. Т.е. отступы по два пробела для него являются ошибкой, он такие не признает.
Зродились ми великої години
З пожеж війни, із полум'я вогнів
Плекав нас біль по втраті України
Кормив нас гнів і злість на ворогів

СОНЦЕ

#972
pirsus, современный imagemap объявляется не напрямую, а через screen


Код
screen scr_fightback:

    imagemap:
        ground "fightback.png"
        hover "fighthover.png"

        hotspot (1680, 255, 1680+175, 255+170) clicked Jump("headpunch")
        hotspot (1680, 455, 1680+175, 455+170) clicked Jump("bodypuch")
        hotspot (1680, 655, 1680+175, 655+170) clicked Jump("legpunch")
        
label ggturn:
    call screen scr_fightback


альзо, не могу найти документацию на "clicked", надеюсь это то же самое что и "action"

АПД: так же потещен "олдовый" вариант imagemap и он тоже работает, я подозреваю что дело в кординатах - две последние цифры это нижняя правая точка, а не ширина-высота
Сообщение отредактировал СОНЦЕ - Воскресенье, 27/Дек/2020, 03:05

СОНЦЕ

#973
AxelK, не могу гарантировать "общего доступа к памяти", но модуль с которого у меня запускались окошки позволяет слать и получать от него сообщения, соответственно сделать его отделенным монитором инвентаря вполне реально.

yalhis

#974
Ребят, начал изучать Renpy и столкнулся с проблемой при выводе изображений
Код
label start:
    scene bg1 with fade
    show M Cas Op at Moffpos
    show M Cas Op at Mpos with move
    hide M

При таком коде у меня после начала игры появляется сцена, объявляется персонаж, выходит на экран и потом сразу исчезает и все это происходит практически мгновенно. Как сделать так, чтобы каждое действие происходило по щелчку мыши? видел {w}, но для текста, а для строк есть что то подобное?
Никто из тебя идиота не делает, это исключительно твоя инициатива.

Katruna

#975
yalhis, ну скажу так, такое происходит т.к. других действий нет.
Если между появлением и скрытием картинки написать пару фраз текст- все будет ок. Исчезнут картинки только после прочтения текста.
А если без текста - просто прописать паузу.


Код
label start:
    scene bg1 with fade
    show M Cas Op at Moffpos
    show M Cas Op at Mpos with move
    $renpy.pause (5.0)
    hide M
Сообщение отредактировал Katruna - Вторник, 29/Дек/2020, 08:46
Художник в душе и в жизни
Дракон в душе и в жизни
Butterfly effect
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ)
Поиск: