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

Результаты поиска

СОНЦЕ

#226 | Тема: Анимации карты изображения?
Хотелось бы ошибаться, но насколько я знаю тривиальных путей назначить анимацию на кнопку по нажатию не существует даже для текстовых/графических кнопок - нужно изворачиваться хитрыми transform ами.

Что же касается imagemap - основной проблемой будет отделить одну кнопку от другой. Моя костыльная интуиция предложила заабусить состояния selected или sensitive например:
Код

image click_animation:
    'idle'
    .05
    'hover'
    .05
    repeat
        
default sel = 0

screen imgmap:
    if sel:
        timer .3 action SetVariable('sel',0)
    
    imagemap:
        ground 'frame'
        idle 'idle'
        hover 'hover'
        
        selected_idle  'click_animation'
        selected_hover 'click_animation'
        
        hotspot (100,100,300,100) action SetVariable('sel',1)
        hotspot (100,250,300,100) action SetVariable('sel',2)


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

короче вопрос открыт. мне тоже интересно nlove
Сообщение отредактировал СОНЦЕ - Четверг, 22/Окт/2020, 14:41

СОНЦЕ

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

Код

init python:
    def toggle_element(list,i):
        list[i]= not list[i]
        return

screen what_to_check(list):
    default is_checked = [False for l in list]
    timer .01 action Function(toggle_element,is_checked,0)

    vbox:
        for i,p in enumerate(list):
            textbutton ('[x] ' if is_checked[i] else '[  ] ')+p action Function(toggle_element,is_checked,i)
        textbutton 'ok' action Return([p for i,p in enumerate(list) if is_checked[i]])

label main_menu:
    return

label start:
    'что вы хотите купить'
    call screen what_to_check(['лук','морковь','картошка','свекла','молоко'])
    $ bought = ', '.join(_return)
    'вот то, что вы купили: [bought]'    
    return
Сообщение отредактировал СОНЦЕ - Суббота, 24/Окт/2020, 17:51

СОНЦЕ

#228 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Yan-chan, шрифт надо добавлять именно в проект, в папку game. название шрифта объявленного в gui должно соответствовать добавленному в папку game с учётом регистра. если всё именно так, но ошибка всё равно возникает -- сделай скриншот или текстовый дамп ошибки, по ней будет понятнее что не так...

СОНЦЕ

#229 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Кровосiся, у меня трудности с просмотром картинок из спойлера,(вероятно из за хоста на котором они находятся) но содержимое rpy файла красноричиво намекает на то, что он некорректно отдекомпилирован (на месте предполагаемого содержимого всех layeredimage зияющая дыра из пробелов)

СОНЦЕ

#230 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Кровосiся, я думаю нужно попробовать поковырять игру другими тулзами/ другими версиями тулза /другими настройками, и добиться коректной декомпиляции. Как выглядит правильно объявленный layeredimage можно подсмотреть в документации Ну и там же можно почитать и "узнать как" вручную их всех выставить. Но кроме "знать бы как" еще будет интересный вопрос "знать бы что", и подозреваю восстанавливать это всё вручную будет оч муторно, лучше это оставить на сасый последний отчаянный вариант

СОНЦЕ

#231 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
MorganYu9
action для кнопки
PauseAudio(channel, value=True)
под channel впиши канал. скорее всего 'music'
value = True запаузить = False распаузить ='toggle' режим переключателя

питоновская команда
renpy.music.set_pause(value, channel='music')
вместо value - True запаузить False распаузить

СОНЦЕ

#232 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
stop_control,
Можно наложить прозрачную png рамку. Если размер рамки варьируется, можно сделать универсальную рамку через Frame

MorganYu9,
Пускай коллеги поправят, но кажется нет универсяльного решения для данного вопроса. Уточни как выглядит меню с паузой, тогда может получишь достойное решение =3
Сообщение отредактировал СОНЦЕ - Воскресенье, 01/Ноя/2020, 22:47

СОНЦЕ

#233 | Тема: Как сделать плавное появление текста?
Вообще то вот этот пост в указаной теме красноречиво намекает на решение. Просто без реализации. Вот реализация, если угодно. Невероятно тупая и на практике неприменима, но доказывает концепт и задает вектор для ориентира nbaka


Код


transform appear(paus):
    paus*.02
    alpha 0.0
    linear 1.0 alpha 1.0

init python:
    for c in 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ':
        for i in range(80):
            nameat = c+str(i)+'_at'
            renpy.image('%s'%nameat,At(Text('%s'%c),appear(i)))
    
    def appear_text(what):
        result = ''
        tag = False
        for i,c in enumerate(what):
            if tag or c == ' ':
                result+=c
            elif c == '}':
                result+=c
                tag = False
            elif c == '{':
                result+=c
                tag = True
            else:
                result += '{image='+c+str(i)+'_at}'
        return result
        

screen say(who, what):
    style_prefix "say"

    window:
        id "window"
       

        if who is not None:

            window:
                id "namebox"
                style "namebox"
                text who id "who"

        text what id "what" xpos 5000   
        text appear_text(what) slow True

label main_menu:
    return

label start:
    'Кажется мне удалось это сэмулировать невероятно тупым костылём'
    'Если реально будете применять сделайте поизящнее пожалуйста'
    return

СОНЦЕ

#234 | Тема: Как сделать плавное появление текста?
Цитата BattlePeasant ()
Вообще говоря, это ужас, то что выше предлагается.

Я абсолютно согласен). Просто паталогическая страсть к ужасному коду. nwow2

Цитата BattlePeasant ()
почему нельзя переписать функцию, выводящую текст на экран?

Это и будет изящным решением. Но это фигура высшего пилотажа, поскольку требует изучения незадокументированного функционала напрямую через исходники. Будет скучно -- вернусь к этому.

СОНЦЕ

#235 | Тема: Кто-то хочет со мной в коллаб?
Куку! Я довольно длительное время увлекаюсь созданием ВН(примеры в профиле), и желаю в этом году сделать ещё одну, перед Джемом, чтоб во время него уже по накатанной! И думаю будет веселее если будет единомышленник или группа таковых, чтобы держать активный вектор взаимной активностью. Крч, если есть идея, и для неё нужна помощь, меня можно на это призвать! Могу всё (в какой-то мере... возможно кроме пиара) сильными своими сторонами считаю код и "оригинальные" идеи. Ну и наоборот, если Вы мечтаете скрасить воплощения моих идей своими скиллами, или даже просто помотивировать -- тоже обращайтесь! Главный критерий - Вы должны понравиться мне, а я -- Вам. Для приблизительной ориентировки идеи\направления которые мне нравятся -- они трэшово "упороты", и/или направлены на хентайный фансервис.

Кому стало интересно - пишите в ЛС. Либо в телеграм Мір!
Сообщение отредактировал СОНЦЕ - Суббота, 07/Ноя/2020, 08:29

СОНЦЕ

#236 | Тема: Я один не люблю Dropbox и MEGA?
У меня вот все игры хранились на MediaFire и постоянно жаловались что к ним прилетает много адовой навязчивой рекламы. Теперь они все на Mega. Их шифрование параноидальное конечно геренирует абсурдной длины ссылки, но в остальном ничем не смущает. С точки зрения дизойна мега рили приятен. Так что жду пару лет когда ссылки "отвалятся" чтобы понимать суть проблемы nmda nlol
А на счет шифрования - надо понииать, что ВН - это искусство. А искусство порой затрагивает очень Очень стрёмные темы. А творцы - это очень Очень трогательные личности для которых стремность может быть смерти подобна, а любая даже иллюзорная приватность -- это вопрос будет ли вн написана/переведена или нет

Все достоинства и удобства Яндекс.диска убивается одинм словом. Украина. Можете представить что эта постоянная необходимость морочится с VPN по ощущениям превращает любой сервис в противную помойку.

СОНЦЕ

#237 | Тема: Как сделать плавное появление текста?
progxaker,  смотри какая идея nlove правда я гений? правда? правда? nwow2

Код

transform appear(ti):
    alpha .0
    ti*.02
    linear 1.0 alpha 1.0

image red_box=Solid('#f00',xysize=(20,20))

init python:
    list_for_livecomposite = [(1200,130)]
    i=0
    for y in range(5):
        for x in range(60):
            i+=1
            list_for_livecomposite.append((x*20,y*26))
            list_for_livecomposite.append(At('red_box',appear(i)))
image big_box = LiveComposite(*list_for_livecomposite)

screen say(who, what):
    style_prefix "say"

    window:
        id "window"

        if who is not None:

            window:
                id "namebox"
                style "namebox"
                text who id "who"

        text what id "what" xpos 5000
        fixed xmaximum 1200:
            add AlphaMask(Text(what),'big_box')

label main_menu:
    return
    
label start:
    'Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random Random text lol very random teeeext lol lol random random '
    return

СОНЦЕ

#238 | Тема: Как сделать плавное появление текста?
progxaker, хихи прям на полном серьезе похвалил меня в краску вгоняешь nlove
вот с комментами и менее гоповским кодом
на счет вложенных циклов, я скромно настаиваю что в данном случае это хорошая практика
также внедрена попытка устранить проблему с пропуском бегущего эффекта путем дублирования
но обнаружена другая проблема - теперь применение изменения скорости появления текста требует перезагрузки т_т


Код

#######################################################################
#          Эффект плавного появления текста
#
# Реализован методом внедрения текста в АльфаМаску
# собранную из поочередно появляющихся прямоугольников
# для имитации нужного эффекта

# SMALL_XY - размеры маленького прямоугольника
#            подогнанны под размер символа
# BIG_XY - размер всей маски подогнан под выделенное для текста окошка

# SPEED - скорость появления текста. Хотелось подогнать под CPS
#         но там всё не так просто =_=...

transform offset_appear(delay_offset,speed,GRADIENT = 10):
    #GRADIENT - примерная длина шлейфа градиента в символах
    alpha .0
    delay_offset*speed
    linear speed*GRADIENT alpha 1.0

init python:
    LINE_SPACING = 4
    #LINE_SPACING - это должна быть стандартная переменная отступа
    # между строчками в диалоговом окне но я её не нашел T_т
    
    SMALL_X = gui.text_size
    SMALL_Y = gui.text_size+LINE_SPACING
    BIG_X = (gui.dialogue_width/SMALL_X+1)*SMALL_X
    BIG_Y = (gui.textbox_height/SMALL_Y+1)*SMALL_Y    
    SPEED = 1.0/preferences.text_cps
    
    
    
    list_for_dialogue_mask = [(BIG_X,BIG_Y)]
    delay_offset=0
    for y in range(0,BIG_Y,SMALL_Y):
        for x in range(0,BIG_X,SMALL_X):
            delay_offset+=1
            list_for_dialogue_mask.append((x,y))
            list_for_dialogue_mask.append(At('symbol_box',offset_appear(delay_offset,SPEED)))

image symbol_box=Solid('#fff',xysize=(SMALL_X,SMALL_Y))
image dialogue_mask = LiveComposite(*list_for_dialogue_mask)

screen say(who, what):
    style_prefix "say"

    window:
        id "window"

        if who is not None:

            window:
                id "namebox"
                style "namebox"
                text who id "who"

        text what id "what"
        fixed style 'say_dialogue':
            add AlphaMask(Text(what),'dialogue_mask')

label main_menu:
    return
    
label start:
    'Смеркалось, жаркий день бледнел неуловимо, Над озером туман тянулся полосой, И кроткий образ твой, знакомый и любимый, В вечерний тихий час носился предо мной.'
    'Улыбка та ж была, которую люблю я, И мягкая коса, как прежде, расплелась, И очи грустные, по-прежнему тоскуя, Глядели на меня в вечерний тихий час.'
    return

СОНЦЕ

#240 | Тема: Помощь по Ren'Py (Вопрос\Ответ)
Цитата Floyd ()
Дождаться СОНЦЕ.
оматасэ! nbaka

1. идем в screens.rpy
2. ищем там screen main_menu():
3. под строчкой add gui.main_menu_background
9. дописываем add 'circle'

вроде работает в стандартном главном меню. если не - возможно меню не стандартное и тогда глянуть бы на него
Сообщение отредактировал СОНЦЕ - Вторник, 17/Ноя/2020, 14:58
Поиск: