Пользователи · Поиск по форуму · · Вход в аккаунт · Регистрация |
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Ren'Py (Вопрос\Ответ) |
Помощь по Ren'Py (Вопрос\Ответ) |
Джейсон#377Пытался запилить окно yes no, но ничего не получилось. Хотел дать игроку возможность передумать, но думаю надо делать через старое доброе меню.
Сообщение отредактировал Джейсон - Воскресенье, 09/Июл/2017, 15:19
С радостью приму любую помощь и в долгу не останусь(-^_^-)
https://vk.com/id89069104435ss |
dmit#378Код $ layout.yesno_screen("Вы уверены?", yes=ui.jumps("es"), no=ui.jumps("no")) " " label no: e "no" return label es: e "es" return планета FOREVER!!! Unkenbro team
|
Dgirael#379Сап. У меня два вопроса:
1 можно ли меню сюжетного выбора сделать с помощью image map? 2. можно ли, и если да, то как сделать dressup игру внутри (не нужно, чтобы в итоге игра запомнила результат, важен сам процесс - интерактивные элементы, которые можно брать и перетаскивать на персонажа) |
dmit#3801 Конечно можно, думаю и сам разберёшься
2 Можно и это, но сложнее. Посмотри http://ru.renpypedia.shoutwiki.com/wiki/Перетаcкивание_(Drag_and_Drop) Сообщение отредактировал dmit - Среда, 12/Июл/2017, 18:32
планета FOREVER!!! Unkenbro team
|
dmit#382Я бы не стал трогать файлы движка, а просто в игре добавил к примеру:
Код init -1 python hide: config.translations[u"Are you sure you want to quit?"] = u"Are \nyou sure \nyou want to quit?" планета FOREVER!!! Unkenbro team
|
Orinoku#383Здравствуйте.
Стучусь с совершенно абсурдной проблемой: после build distributions и последующей распаковки архива - игра не запускается. Вот вообще. Путь к ней англоязычный, уже сохраняла несколько раз и все бестолку. Даже пыталась на другом компе. Главное, что никаких ошибок мне не выбивает, то есть, просто крутится колесико загрузки рядом с мышью, когда клацаешь по иконке и все. И все раннее сохраненные новеллы запускаются без проблем, а эта - нет. В самой программе все работает хорошо. С чем это может быть связано, как исправить? Надеюсь, проблема адекватно обозначена, просто я сама не могу оправиться от того, с чем столкнулась, так что могут быть неясности в изложении ^^" |
dmit#384Посмотрите параметры build в файле options.
Не использует ли игра какие-либо не традиционные файлы и места их нахождения? Обновлён ли renpy? планета FOREVER!!! Unkenbro team
|
mrWebster#389Доброго времени суток.
Не совсем разобрался в документации с этой темой. Вообще очень интересует, как можно работать с цветами отдельных изображений. Можно ли перекрасить только фон на программном уровне? А отдельный спрайт или спрайты? |
Ikuku#390Если коротко, то да: любое отдельное изображение можно перекрасить с помощью im.MatrixColor (но только целиком).
Работает он примерно следующим образом: берет каждый пиксель изображения, и вместо текущего цвета/прозрачности ставит новый, в соответствии со вторым полученным параметром (matrix). Второй параметр может быть либо матрицей/кортежем (это для тех, кому не хватает дефолтных возможностей и кто хочет сделать все руками), либо объектом типа im.matrix (собственно, набор готовых "матриц", каждая из которых заранее сконструирована, чтобы десатурировать, менять цвет, и т.д.) Если у нас второй параметр - матрица (физически записанная, как список из 20-25 чисел), то измененные цвета каждого пикселя считаются по формуле из документации (переменные от a до t берутся из списка, R, G, B и A - из параметров пикселей оригинальной картинки). Если второй параметр - один из готовых матричных объектов, то о формулах волноваться не надо. Матричные объекты можно перемножать. Пример из документации: im.matrix.desaturate() * im.matrix.tint(0.9, 0.9, 1.0) читается как "сначала обесцветь, потом покрась (синим, т.к. в tint передан кортеж, обозначающий оттенок синего)" Список встроенных матричных объектов (МО) (вкратце, из документации): im.matrix.brightness(b) - МО для изменения яркости. Параметр b принимает значения от -1 до 1, чем меньше, тем темнее. im.matrix.colorize(black_color, white_color) - МО для покраски "темных" и "светлых" пикселей. "Темные" красятся цветом black_color, светлые, соответственно, white_color. NB: не чисто черные и белые, а именно темные и светлые. im.matrix.contrast© - МО для изменения контраста. Параметр c должен быть больше нуля, от 0 до 1.0 - понижение контраста картинки, больше 1.0 - увеличение. im.matrix.desaturate() - МО для обесцвечивания. Краткая запись для im.matrix.saturation(0). im.matrix.hue(h) - МО для изменения цветности. H - градус смещения цвета по цветовому кругу (круг). Т.е. если изначально цвет пикселя был желтый, и h = 45, то новый цвет станет темно-оранжевым. im.matrix.identity() - МО для того, чтобы ничего с картинкой не делать. ¯\_(ツ)_/¯ im.matrix.invert() - МО для инвертирования цветовых каналов. "Негатив". im.matrix.opacity(o) - МО для изменения альфа-канала (прозрачности). Параметр o принимает значения от 0 до 1.0, чем меньше, тем картинка прозрачнее. im.matrix.saturation(level, desat = (0.2126, 0.7152, 0.0722)) - МО для изменения насыщенности. Параметр level (от 0 (черно-белый) до 1.0 (без изменений)) отвечает за цветность, параметр desat (в скобках приведены дефолтные значения) дополнительно корректирует RGB-уровни картинки для обесцвеченного изображения. im.matrix.tint(r, g, b) - МО для изменения значений цветовых каналов. Параметры принимают значения от 0 до 1.0, измененный цвет считается в виде доли от оригинала. Т.е., скажем, если значение красного было 70 (из 255 возможных), а в r мы передали .1, новый красный будет равен 7. Пара примеров того, как это использовать - ниже. Для наглядности создайте новый проект, киньте туда любую картинку и посмотрите, как это все выглядит. Код image bg test = "image.jpg" image bg test0 = im.MatrixColor("image.jpg", [.5, .5, .5, .5, 0, .2, .2, .2, .2, 0, .3, .3, .3, .3, 0, .1, .1, .1, .1, 0]) image bg test1 = im.MatrixColor("image.jpg", im.matrix.colorize((255, 0, 0), "#00f")) image bg test2 = im.MatrixColor("image.jpg", im.matrix.hue(45)) image bg test31 = im.MatrixColor("image.jpg", im.matrix.saturation(.5)) image bg test32 = im.MatrixColor("image.jpg", im.matrix.saturation(.5, desat=(0.1, 0.1, 0.722))) image bg test4 = im.MatrixColor("image.jpg", im.matrix.tint(0.4, 0.4, 1.0)) label start: show bg test "Оригинальное изображение." show bg test0 "Случайное изменение цветов с помощью матрицы в параметрах. \n\n \[.5, .5, .5, .5, 0,\n.2, .2, .2, .2, 0,\n.3, .3, .3, .3, 0,\n.1, .1, .1, .1, 0\]" show bg test1 "Светлые цвета будут синими, темные - красными. Синий передан строкой (hex-код цвета), красный - кортежем. \n\n im.matrix.colorize((255,0,0), \"#00f\")" show bg test2 "Цветность. Поворот цветового круга - 45 градусов. \n\n im.matrix.hue(45)" show bg test31 "Обесцвечивание, desat задан по умолчанию. \n\n im.matrix.saturation(.5)" show bg test32 "Обесцвечивание, desat задан вручную, со смещением в синюю сторону. \n\n im.matrix.saturation(.5, desat=(0.1, 0.1, 0.7))" show bg test4 "Изменение оттенка: красный и зеленый каналы - в .4 от оригинального, синий - без изменений. \n\n im.matrix.tint(0.4, 0.4, 1.0)" Плюс, изображение, которое возвращает im.MatrixColor(...), можно использовать как любую другую displayable, например, в операторе add в кастомном экране: add im.MatrixColor("image.jpg", im.matrix.hue(45)) P.S. с частично прозрачными png тоже работает. |
| |||