Оператор Add и как добавить изображение в глав меню



 

Данный оператор позволяет добавлять в экран изображения.

Например, если изображение прописано

· image logo base ="images/logotip.jpg"

·

· screen add_image_example():

· add "logo base"

Так же можно в нем прописать и анимации, со всеми объектами и трансформациями.

Или указав путь к изображению

· screen add_filename_example():

·     add "images/logo base.png"

Так же в нем можно прописывать различные трансформации

· screen add_at_transform_example():

·     add "logo base" at unrotate

·

· transform unrotate:

·     zoom 0.7 rotate 43.21

·     linear 1.0 rotate 0

Как прописать изображения в главное меню?

Для этого вам потребуется открыть screen . rpy . найти строку screen main_menu: и там у вас будет записан экран главного меню, там вы пишете изображение

 

 

· screen main_menu():

·     # This ensures that any other menu screen is replaced.

·     tag menu

·

·     # The background of the main menu.

·     add "images/logotip_fona.jpg"

·     

·     textbutton _("Новая игра") action Start()

·     textbutton _("Загрузить") action ShowMenu("load")

·     textbutton _("Настройки") action ShowMenu("preferences")

·     textbutton _("Помощь") action Help()

·     textbutton _("Выйти") action Quit(confirm=False)

 

Тоже самое относится и к другим разделам главного меню(загрузки, настройки и т.д)

Оператор text

Данный оператор прописывает текст на экране.

· screen text_example():

·     frame:

·         xalign 0.5 ypos 50

·         text _(" Текст на экране "):

·             size 30

 Если после текста мы поставим : то мы можем прописать различные параметры.

 

Так же в нем можно прописать значения переменной.

· screen text_interpolation_example():

·     $ answer = 42

·

·     frame:

·         xalign 0.5 ypos 50

·         text _(" Ответ: [answer].")

 

Как прописывать координаты объектам?

· screen implicit_fixed_example():

·     frame:

·         xalign 0.5 ypos 50

·         xsize 440 ysize 316

·

·         text "1" xpos 41 ypos 184

·         text "2" xpos 135 ypos 177

·         text "3" xpos 92 ypos 3

·         text "4" xpos 359 ypos 184

·         text "5" xpos 151 ypos 25

Оператор on

Данный оператор запускает автоматически событие при его вызове. В нижнем примере будет 2 события: событие show (экран впервые показывается) и событие hide(экран убирается)

· screen on_screen():

·     on "show" action Notify(_("Появился экран"))

·     on "hide" action Notify(_("Экран убрали"))

· label start:

·     schow screen on_screen

·     " Привет "

· hide screen on_screen

·     " Пока "

Как видим, данный экран появляется 1 раз, и через несколько секунд текст исчезает.

А как изменить Notify?

Изображение, которое отвечает за него, находится по адресу gui/notify.png

Что бы прописать координаты зайдите в screen.rpy и найдите такую строку и изменяете на свое усмотрение

screen notify(message):

Zorder 100

style_prefix "notify"

frame at notify_appear:

Text message

Timer 3.25 action Hide('notify')

transform notify_appear:

on show:

Alpha 0

Linear .25 alpha 1.0

on hide:

Linear .5 alpha 0.0

Style notify_frame is empty

Style notify_text is gui_text

style notify_frame:

Ypos gui.notify_ypos

background Frame("gui/notify.png", gui.notify_frame_borders, tile=gui.frame_tile)

Padding gui.notify_frame_borders.padding

style notify_text:

properties gui.text_properties("notify")

 

Оператор Key

Данный оператор позволяет вызывать события нажатием клавиши на клавиатуре.

· screen on_key_screen():

·     frame:

·         xalign 0.5 ypos 50

·     text _("Нажмите на англ букву' a '.")

·     key "a" action Notify(_(" Вы нажали на анг А "))

Питон очень чувствителен к тому, какой раскладкой клавиатуры вы нажали и не активирована ли Caps Lock . Например, в выше написанном примере буква а, будет активна, только на английской раскладке при отключенном Caps Lock. Что бы она правильно работала на русской (или китайской и т.д.) клавише нам потребуется прописать все варианты значений (Заглавную, маленькую, и на другом языке).

· screen on_key_screen():

·     frame:

·         xalign 0.5 ypos 50

·         text _("Нажмите на англ букву'a'.")

·     key "a" action Notify(_("Вы нажали на А"))

·     key "A" action Notify(_("Вы нажали на А"))

·     key "Ф" action Notify(_("Вы нажали на А"))

·     key "ф" action Notify(_("Вы нажали на А"))

Так же обратите внимание, что данный оператор работает только на тех устройствах, у которых есть клавиатура или джойстик. Если вы собираетесь адаптировать проект на планшет то вам придется еще прописывать кнопку в экране, ибо на андроиде или айфонах нет клавиш(если конечно не подключено какое ни будь устройство к телефону, такие как джойстик на очках вирт реальности и т.д.)

Список всех клавиш(плюс там же другие устройста джостики и т.д…)

http://www.pygame.org/docs/ref/key.html (учитывайте что там только анг раскладка прописана)

Так же прописываются к оператору данному функции при действии ссылка

Обьекты box и grid

Объект box берет объекты и располагает их так, как мы укажем box. Очень часто применяется при написании кнопок или нескольких значений которые мы должны отобразить на экране(настройки и т.д)
Примеры с hbox где объекты горизонтально ставятся.

· screen hbox_example():

·     frame:

·         xalign 0.5 ypos 50

·         hbox:

·             spacing 10

·             text "1"

·             text "2"

·             text "3"

·             text "4"

·             text "5"

Где spacing расстояние между объектами

 

А объект vbox действует вертикально

 

Объект Grid создает таблицы.

 

 

· screen grid_example():

·     frame:

·         xalign 0.5 ypos 50

·         grid 3 2:

·             spacing 10

·             text "1"

·             text "2"

·             text "3"

·             text "4"

·             text "5"

·             null

Разберем подробней, что тут прописано

screen grid _ example ():-имя экрана

frame : - прописываем положение и создаем рамку

xalign 0.5 ypos 50 – координаты

grid 3 2: - создаем таблицу, в которой будет 3 столба в 2 строки, где нам потребуется прописать 6 объектов (т.к. 3*2=6) иначе возникнет ошибка. И в нем прописываем объекты (двоеточие)

spacing 10 – параметр, которое делаетрасстояние между объектами

text "5" – 1 из объектов

null – пустая ячейка, применяется, когда объекта еще нет, но он должен будет появиться и что бы ни было ошибки, пишут данный объект.

 

 

Так же если вам требуется сделать другое расположение заполнения(т.е. таблица заполняется горизонтально, а если нужно вертикально то прописывают данного оператора) то используют параметр transpose

· screen grid_transpose_example():

·     frame:

·         xalign 0.5 ypos 50

·         grid 3 2:

·             spacing 10

·             transpose True

·             text "1"

·             text "2"

·             text "3"

·             text "4"

·             text "5"

·             null

 

Обратите внимание! В гриде, все объекты делят расстояние на свои размеры, т.е. если 1 объект назвать, например не 4, а словом бабуля, то расстояние будет вычисляться по самому длинному названию, т.е. от бабули будут рассчитываться положения на экране. Учитывайте это когда будете создавать свои таблицы.

Ну и пример еще один .

Текстовые кнопки

Кнопки – это такие объекты, которые при нажатии активируют действие.
Прописываются в экранах.(screen)

Разберем пример самой простейшей тестовой кнопки.

· screen button_hover_example():

·     frame:

·         xalign 0.5 ypos 50

·         button:

·         action Notify (_("Ты нажал на кнопку"))

·         hovered Notify (_("Ты навел на кнопку"))

·         unhovered Notify(_(" Ты отвел кнопку "))

·             text _(" Кликни на меня ") style "button_text"

screen button_hover_example():-экран с кнопкой

 

frame: -рамка

xalign 0.5 ypos 50 –координаты экрана

 

button : - кнопка, в которой прописываем ее действия и внешний вид

 

action Notify (_("Ты нажал на кнопку")) –при нажатии(action ) произойдет событие(Notify (_("Ты нажал на кнопку"))) – в данном случае высветится надпись уведомления(Notify )

hovered – при наведении произойдет событие(обычно используется что бы пояснять комментариями что произойдет при нажатии)

 

unhovered – как уберете кнопку, произойдет событие(используется довольно часто, когда пользователю предстоит выбор)

 

text _ - тут мы программе указываем что у нас будет текст в виде кнопки

 

Или еще пример

· screen vibor ():

·     frame:

·         xalign 0.5 ypos 50

·

·         has vbox

·

·     text "Кого вы спасете?"

·

·         textbutton _("Женщина."):

·             action Jump("Dev")

·         hovered Notify (_("Ты хочешь спасти девушку?"))

·         unhovered Notify (_("А как ты потом матери в глаза смотреть будешь?"))

·

·         textbutton _("Ребенок"):

·             action Jump("Kind")

·         hovered Notify (_("Ты хочешь спасти ребенка?"))

·         unhovered Notify (_("А как ты потом ему объяснишь Где мама?"))

где Jump (" Kind ")прыжок в метку(label) Kind

 


Дата добавления: 2018-10-27; просмотров: 822; Мы поможем в написании вашей работы!

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






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