• Страница 1 из 1
  • 1
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Прокрутка картинки внутри формы или картинки (AlphaMask + Crop?)
Прокрутка картинки внутри формы или картинки

Seibur
Дата: Среда, 29.07.2020, 01:25 | Сообщение # 1
Пользователь
Сообщений: 2
Награды: 0
Добрый вечер!
У меня довольно сложный вопрос:
Как сделать внутри простой одноцветной формы (круга, или
квадрата произвольных размеров, с заранее заданными параметрами), а лучше пнг
картинки с прозрачностью – зацикленную прокрутку другой картинки, а именно
бесшовного фона по координатам х и у.

Идея в следующем:
Таких картинок с прокруткой может быть множество, и их можно
свободно перемещать по координатам отдельно.
Так же на эту картинку послойно сверху можно накладывать
другие картинки, и объекты игры, такие как полосы и значения переменных. Они
должны быть прикреплены к каждой форме или картинке отдельно.

Для чего это нужно:
для создания анимированных карт, как в кки.

Я накидал небольшой пример, видео:
Видео

Слева – квадратная форма с прокручиваемым фоном неба внутри.
Справа - квадратная форма с прокручиваемым фоном неба внутри,
но над ней слой с рамкой, а на рамке – слой с изображением рыцаря.

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

Был бы очень благодарен за пример рабочего кода, или демку.
В крайнем случае – за подробное объяснения, как это сделать.


Сообщение отредактировал Seibur - Среда, 29.07.2020, 01:32


total
Дата: Среда, 29.07.2020, 10:17 | Сообщение # 2
Разработчик
Сообщений: 188
Награды: 7
Layered image в помощь

Всего лишь наёмник
Свои проекты в глубокой заморозке

СОНЦЕ
Дата: Среда, 29.07.2020, 12:14 | Сообщение # 3
Разработчик
Сообщений: 196
Награды: 29
Цитата Seibur ()
Важно заметить: нужно сделать не маску, которая сверхунакрывает бесшовный фон, а именно прокрутку внутри другой картинки, возможно с
помощью альфа канала.
Не рекомендую лезть в AlphaMask с какой либо анимацией кроме покадровой, оно не работает как нужно, подозреваю, из за багов движка.

вот мой пример из вот этого проекта
если код покажется странным и неинтуитивным - возможно это из за попыток обойти эти самые баги

Код
init python:
    dance_slide=200
    dance_offset=-100
    noquit = False

transform tDance(Xpos):
    subpixel True
    zoom .6
    anchor (.5,.0)
    pos (Xpos,.5)
    choice:
        pause .1
    choice:
        pause .2
    choice:
        pause .3
    choice:
        pause .4
    choice:
        pause .5
    parallel:
        ease .5 ypos .6
        ease .5 ypos .5
        repeat
    parallel:
        choice:
            ease 2 xoffset 100
        choice:
            ease 3 xoffset 100
        pause .0001
        choice:
            ease 2 xoffset 0
        choice:
            ease 3 xoffset 0
        repeat
        
transform slowLR:
    choice:
        ease 5 xoffset 70
    choice:
        ease 4 xoffset 50
    pause .001
    choice:
        ease 5 xoffset 0
    choice:
        ease 4 xoffset 20
    repeat
    

image glitchmess:
    'club_ex_glitch'
    choice:
        .3    
    choice:
        1.0
    choice:
        1.2
    'club_ex_glitch2'
    .1
    'club_ex_glitch3'
    .1
    repeat
                
image zeka_image_glitch = AlphaMask('glitchmess',At('zeka_image',tDance(dance_slide+0)))
image vasa_image_glitch = AlphaMask('glitchmess',At('vasa_image',tDance(dance_slide+150)))
image slava_image_glitch = AlphaMask('glitchmess',At('slava_image',tDance(dance_slide+400)))

label main_menu:
    return
    
label start:
    scene expression '#444'
    show zeka_image_glitch at slowLR
    show vasa_image_glitch at slowLR
    show slava_image_glitch at slowLR
    pause    
    return

Проект для данного кода с картинками


Сообщение отредактировал СОНЦЕ - Среда, 29.07.2020, 12:30

Seibur
Дата: Среда, 29.07.2020, 15:38 | Сообщение # 4
Пользователь
Сообщений: 2
Награды: 0
Цитата total ()
Layered image в помощь
Цитата СОНЦЕ ()
Не рекомендую лезть в AlphaMask с какой либо анимацией кроме покадровой, оно не работает как нужно, подозреваю, из за багов движка.
Огромное спасибо за ответы, ребята!

Добавлено (29.07.2020, 15:45)
---------------------------------------------
СОНЦЕ, отдельно огромнейшее спасибо за код и демку!

Форум о визуальных новеллах » Для разработчиков » Ren'Py » Прокрутка картинки внутри формы или картинки (AlphaMask + Crop?)
  • Страница 1 из 1
  • 1
Поиск: