Пользователи · Поиск по форуму · · Вход в аккаунт · Регистрация |
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ) |
Помощь по Ren'Py (Вопрос\Ответ) |
total#301я тут заморочился сделать прокрутку в окне save load
через viewport же. и в нем grid Так вот, последняя строка сетки полностью не помещается, какие бы размеры я не задавал Код $ columns = 3 $ rows = 6 frame: style_group 'saveload' xpos 710 ypos 156 ymaximum 700 viewport id "sl": mousewheel True area (0,20,1200,750) child_size (1200, 750) ##- вот это НЕ решает проблему grid columns rows: transpose False xfill False yfill False spacing 40 for i in range(1, columns * rows + 1): button: xpos 35 ypos 35 xminimum 330 xmaximum 330 ymaximum 200 background "images/interface/saveload/slot_empty.png" foreground "images/interface/saveload/slot_empty.png" hover_foreground "images/interface/saveload/slot_hover.png" action FileAction(i) add FileScreenshot(i) yoffset 1 xoffset -10 $ file_name = FileSlotName(i, columns * rows) $ file_time = FileTime(i, empty=_("Пусто")) $ save_name = FileSaveName(i) text "{b}[file_name]. [file_time!t]\n[save_name!t]{/b}" size 24 ypos 180 xalign 0.58 color "#000" key "save_delete" action FileDelete(i) add "images/interface/options/vbar.png" xpos 1150 vbar xpos 1150 ymaximum 820 idle_top_bar None idle_bottom_bar None idle_thumb "images/interface/options/polzunok_vbar.png" hover_thumb "images/interface/options/polzunok_vbar.png" value YScrollValue("sl") как сделать отступ снизу сетки в viewport'е? Следуй за черным котиком, и он расскажет тебе много историй. Расскажи и ты свою (в игре есть мастерская)
|
dmit#302Попробуйте:
Код frame: style_group 'saveload' xpos 710 ypos 0 #мжб вы сдвинули фраме за границу экрана? ymaximum 700 viewport id "sl": scrollbars "vertical" # бегунок покажет где низ viewport планета FOREVER!!! Unkenbro team
|
total#303не, фрейм точно в пределах экрана. скроллбар показывает всё верно, а вот примерно треть нижнего ряда не помещается, такие дела
Следуй за черным котиком, и он расскажет тебе много историй. Расскажи и ты свою (в игре есть мастерская)
|
dmit#304Вызывает сомнения всякие отступы ypos, spacing ... В стиле grid возможно тоже они присутствуют. по видимому что-то не учитывается. Без grid такого не наблюдается.
Ну если решить не заморачиваясь, то вставьте после grid пустой элемент - подтолкните grid. типа: has vbox grid columns rows: ..... ..... image Null(64, 64) Сообщение отредактировал dmit - Понедельник, 02/Янв/2017, 20:21
планета FOREVER!!! Unkenbro team
|
total#305о да, это реально решило! я думал о пустом элементе, но как о строке в таблице. А так даже проще. Спасибо
Следуй за черным котиком, и он расскажет тебе много историй. Расскажи и ты свою (в игре есть мастерская)
|
nastia_manko#306Просто интересуюсь:
Как сделать мини-игру с задрочкой кнопки,как в 3 трояне? Грибы форевер, сучечки! >:D
|
Siel#307nastia_manko, вот код)
Код init python: # окно игры в центре экрана import os os.environ['SDL_VIDEO_CENTERED'] = '1' # автоматическое объявление изображений config.automatic_images_minimum_components = 1 config.automatic_images = [' ', '_', '/'] config.automatic_images_strip = ['images'] # вспышка flash = Fade(.25, 0, .5, color="#fff") flash2 = Fade(.25, 0, .5, color="#222") # настройки игры: # максимальное значение шкалы max_points = 100 # название картинки (без нумерации кадров) img_name = "n" # первый и последний кадры анимации minN = 1 maxN = 14 # значение, на которое прибавляется шкала при клике # (т.е. сложность игры. 2.0 - очень сложно, 3.0 - легко) points_plus = 2.5 # переменные по умолчанию # при желании можно поменять и это значение, # чтобы точнее подобрать баланс игры points_minus = 1.0 # допустимое время между кликами или # скорость анимации (время между сменой кадров) ani_time = .1 # текущий кадр number = 0 # инкремент кадра (+1/-1) plus = 1 # шкала, которую нужно заполнить points = 0 # недавно был клик clicked = True # смена кадров анимации, если клик был недавно # и перерисовка экрана, чтобы увидеть изменения def NextFrameF(): global points, number, plus, clicked # если клик был недавно, то продолжаем анимацию, # иначе следующего кадра не будет. пауза if clicked: # следующий/предыдущий кадр number += plus # если за пределы числа кадров, то анимация в обратную сторону if number > maxN: number = maxN - 1 plus = -plus if number < minN: number = minN + 1 plus = -plus # уменьшение шкалы, если давно не было клика points -= points_minus if points < 0: points = 0 clicked = False # перерисовка экрана renpy.restart_interaction() # функция → action NextFrame = renpy.curry(NextFrameF) # экран игры screen clicker: # это чтобы игра не продолжилась по клику мышкой modal True # сбрасываем настройки игры при появлении экрана on "show" action [SetVariable("number", 0), SetVariable("plus", 1), SetVariable("clicked", True)] # меняем кадр, если клик был недавно, # и проверяем на проигрыш timer ani_time repeat True action [NextFrame(), If(points <= 0, true=Return(False), false=NullAction())] # картинка с анимацией add img_name + str(number) # отображаем невидимую кнопку для кликов # по нажатию прибавляем шкалу и устанавливаем флаг клика button: text _(" ") xfill True yfill True background "#00000001" # если шкала полная, то конец игры, победа action [SetVariable("points", points + points_plus), SetVariable("clicked", True), If(points >= max_points, true=Return(True), false=NullAction())] # альтернативное нажатие с клавиатуры key "K_SPACE" action [SetVariable("points", points + points_plus), SetVariable("clicked", True), If(points >= max_points, true=Return(True), false=NullAction())] # индикатор vbar value StaticValue(points, max_points): align (0, 0) # положение на экране maximum (150, 150) # размеры left_bar "heartempty" # пустое сердце right_bar "heart" # полное сердце thumb None # тут можно поставить разделитель thumb_shadow None # и тень label start: # всякие ненужные штуки для оформления scene expression (img_name + "0") pause .5 show expression Text("Приготовились!") at truecenter as txt with dissolve pause hide txt # начать с 10 очков, чтобы не проиграть сразу же $ points = 10 # ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ call screen clicker # ← игра # ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ # дальше снова пошли всякие ненужные вещи: # показываем результаты игры if _return: # перематываем анимацию до последнего кадра while number < maxN: $ number += 1 scene expression (img_name + str(number)) $ renpy.pause(ani_time, hard=True) scene expression (img_name + str(maxN)) with flash show expression Text("Победа!") at truecenter as txt else: # перематываем анимацию до первого кадра while number > 1: $ number -= 1 scene expression (img_name + str(number)) $ renpy.pause(ani_time, hard=True) scene expression (img_name + "0") with flash2 show expression Text("Проигрыш.") at truecenter as txt # жесткая пауза на случай, если игрок всё еще лупит по кнопке $ renpy.pause(1.0, hard=True) hide txt with dissolve return |
RiokoRain#308RiokoRain, https://www.youtube.com/watch?v=hlrkynF-rlk это для старой версии... но и в новой это прекрасно работает. 1137 строчка в screens.rpy RiokoRain, я бы, не ища, просто написал свой текст: text _("Сделано в {a=https://www.renpy.org/}Ren'Py{/a} Свой текст") Спасибо за попытку, но это всё совсем не то :< В новой версии в "о программе" есть строчка с ссылкой на лицензии Рен'Пая И у меня начинает складываться ощущение, что она попросту нередактируемая, хотя мне сложно это представить в условиях данного движка. Думаю, я просто оставлю её так, как она есть.. |
dmit#310Почему нет? тут показано как разместить анимацию методом add.
Так же, можно прокручивать анимацию при наведении на область. Просто объявите для hover не статичную картинку, а анимацию (к примеру: Код image astr = anim.Filmstrip("aa2.png", (400, 566), (18, 1), .1) ..... imagemap: ground "mmo.png" hover "astr" Сообщение отредактировал dmit - Среда, 18/Янв/2017, 20:11
планета FOREVER!!! Unkenbro team
|
dmit#311А ктоВам запрещает в Своём тексте сделать ссылку (куда угодно, в том числе и на лицензию) планета FOREVER!!! Unkenbro team
|
mrWebster#315Вопрос касаемо выборов в RenPy:
Есть ли внутренние функции, реализующие "не активные" или "запрещенные" варианты меню? Положим, дается n вариантов ответа, но один из них на сером фоне, и выбрать его нельзя, пока не будет истинным условие. Сообщение отредактировал mrWebster - Воскресенье, 29/Янв/2017, 14:57
|
| |||