Как добавить изображения в проект



Существует 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

+-----------------------------------------------------------+|topleft, reset          top              topright||                                                      ||                                                      ||                                                      ||                                                      | offscreenleft|                     truecenter                  | offscreenright|                                                      ||                                                      ||                                                      ||                                                      ||left              center, default           right|+-----------------------------------------------------------+ Где рамка – экран, а  offscreenleft и offscreenright за экраном

Этих трансформаций вполне хватает на среднюю статистическую новеллу.

 

Условие 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!