Как добавить изображения в проект
Существует 3 способа привязать в проект изображения.
Способ. Вручную прописать его
image imy ssylka =" put / k / kartine "
Где
imy – тэг изображения
ssylka – часть имени картинки
Если вы хотите прописать путь к картинке, в какой ни будь отдельный файл, то что бы избежать возможных ошибок(как например не воспроизводится спец эффект закрытия глаз) то вам следует прописать там init : (в начале строки) и будет смотреться все так(пример)
· init:
· **** image golova = "images/ru.png"
Таким не замысловатым способом можно прописать все фоновые картинки проекта и спрайты персонажей в отдельный файл.
Способ. Прописать автоматическое считывание
· init python:
· ****config.automatic_images_minimum_components = 1 # минимальное количество тегов
· ****config.automatic_images = [' ', '_', '/'] # список разделителей для создания тегов
· ****config.automatic_images_strip = ["images"] # здесь через запятую можно указать и другие папки из директории game
в итоге "images/eileen/happy.png" будет объявлено как "eileen happy"
и "images/eileen_happy.png" будет объявлено как "eileen happy"
и "images/eileen happy.png" будет объявлено как "eileen happy", но лучше вообще избегать имен файлов и путей с пробелами, на некоторых операционках могут проблемы возникнуть (ибо как писал мой знакомый программист «Настоящий программист пишет все без пробелов»
Способ. Просто вставить изображение в папку game/images
И вызывать таким же способом как в предыдущем способе
Как показать изображение в проекте
|
|
Есть несколько видов изображений в ренпае. Сейчас перечислим их, что бы у вас было представление о них.
1) Оператор Scene
Данный оператор очищает экран от изображений и добавляет изображение на фон. Ей может быть только 1 изображение. Отступы делают точно так же как и диалогам(4 пробела от края). Пишут оператора scene и имя-ссылку изображения.
Помимо изображения, можно еще сделать фоном цвет. Давайте пропишем изображение - эту картинку. classroom.jpg 1280x720
· define uchi = Character(_("Учитель"), color="#008000", image="ru", ctc=anim.Blink("arrow.png"), who_suffix = ':')
· define deti = Character('Ученики', color="#008000", kind=nvl, who_suffix = ':')###2 способ
· image side ru ="images/ru.png"
· image classroom = "images/classroom.jpg"
·
·
· label start:
· scene black
· uchi "Приветствую Вас"
· centered " Первое что сказал он, когда зашел в класс"
· deti "Здравствуйте учитель!"
· "Хором произнес класс"
· menu:
· "1)Проснуться":
· "Где эт я…"
· "2)Спать дальше":
· "Как хорошо спится…"
· uchi "А кто это у нас спит на уроке"
· "Ты почувствовал, как кто-то схватил тебя за ухо"
· menu:
· "Стукнуть обидчика":
· centered "Руки убрал"
|
|
· call bad_boy
· "Извините":
· scene classroom
· "Я" "Извините, такое больше не повторится"
· call good_boy
·
·
· uchi "Продолжим урок"
· "Закончились уроки и вы пошли домой"
· jump game_over
Как мы видим сзади появилась фоновое изображение(вначале сплошной черный экран, который перешел в школьный класс)
Оператор Show
Что добавить поверх остальные изображения(спрайты персонажей, слои для создания анимаций(например плывут сквозь гору облака) используют оператора show .
Вы прописали имя изображении eileen happy,
первая часть имени – тэг, и вызвав во второй раз данный тэг - старое изображение заменится новым.
Вызывается оператор, аналогично оператору scene, только он накладывает сверху фона изображения.
Давайте пропишем спрайт персонажа.
image eileen happy =" images /eileen happy . png"
Оператор behind
Если требуется указать изображение за картинкой то пишут Например:
show logo base at logopos behind eileen
Где logo base и eileen изображение
Спрайты
Для спрайтов используют изображения, в которых есть поддержка прозрачных каналов(png или webn)
В классических новеллах используется своеобразный стандарт. Что бы в фоне могло спокойно расположиться около 3 персонажей.(где то 1/3 от ширины экрана)
|
|
Как я понял, это связанно, что в симуляторах свиданий в Японии у героини(героя) есть 2 возлюбленных, между которыми нам предстоит сделать выбор в чью то пользу, тем самым создается конфликт в проекта(самый смак! ибо все сюжеты строятся вокруг конфликтов. Вы не помните, как воевали в Звездных Войнах, но вы знаете, что там был Конфликт: Джедаев и ситхов, клонов и роботов, имперских клонов и повстанцев!
Но вы опять же, сами рассматриваете, как вам удобно будет расположить ваших персонажей в проекте (Станьте режжисером в вашем проекте)
У меня размер экрана 1280 на 720 , значит, мне потребуется спрайт примерно размером
320 на 720(образно)
· label good_boy:
· show eileen happy
· uchi "Хорошо, сядь на место"
· return
Не забывайте менять в диалоговом окне изображение персонажа в зависимости от эмоции.
3) Оператор hide
Данный оператор убирает выбранное изображение экрана.
· uchi "Продолжим урок"
· hide eileen happy
· "Закончились уроки и вы пошли домой"
· jump game_over
Стандартные координаты позиций(рисунок).
Приведу маленькую картину, где показаны расположений стандартных трансформаций, которые уже прописаны в Ren’py и вызывают их через команду at.
Пример: show imy_kartiny at center
|
|
Этих трансформаций вполне хватает на среднюю статистическую новеллу.
Условие AS
As- позволяет изменить тег изображения, например создать сестру близнеца. Пример код из обучения
· show eileen happy as eileen2
· with None
·
· show eileen happy at left
· show eileen happy at right as eileen2
· with move
·
· pause
·
·
show eileen happy at center
· show eileen happy at offscreenright as eileen2
· with move
·
· hide eileen2
Точные координаты на экране
Когда стандартных позиций не хватает(например требуется расположить 5 персонажей на экране) вы можете самостоятельно их создать и задать координаты.
Самый простой способ, после вызова изображения, в нем прописать координаты
· show eileen happy:
· xalign 0.75
· yalign 1.0
Как мы видим, изображение встала посередине, между стандартными, center и right.
А как вообще определить нужные координаты?
Питон поддерживает 2 вида чисел – Целые и дробные. Число 100 – целое, а число 1.0 – дробное.
Ren’Py использует
Целые числа – для прописывания точных координат
Дробные – для % отображения(примерного). И у такого способа огромные плюсы. Когда вы будете импортировать проект на андроид и т.д. вам не придется заново прописывать все координаты.
Дата добавления: 2018-10-27; просмотров: 865; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!