Перейти к содержанию
АнимеФорум

Рекомендуемые сообщения

  • Ответов 1 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

  • 3 недели спустя...
Опубликовано

Эм... Всем привет!

 

На новеллы прочно подсел после того, как мои друзья сделали довольно неплохую новеллку. Что это за игра и с чем её едят - говорить не буду по некоторым причинам, ну да ладно, проехали.

Я делаю свою собственную новеллку, с блекджеком и девушками, с рядом РПГ-элементов. Питон знаю чуть меньше чем нифига (благо Элионт по скайпу помог с лайвбарами разобраться), однако со скринами начинаю постепенно разбираться.

Итак, в чём проблема. Взгляните на прикреплённое изображение - кое-как, но я сделал эту панельку выбора магического приёма. потом, может быть, добавлю внизу, под менюшками выбора магии, плашку, где будет описание каждого заклинания, но сейчас дело не в этом.

 

Вот код скрина выбора магии:

screen magic:
   #Скрин выбора навыков, которые можно будет использовать в бою. Пока они не реализованы абсолютно никак.
   grid 3 1:
       style_group "prefs"
       xfill True
       vbox:
           frame:
               style_group "pref"
               has hbox
               vbox:
                   label _(u"Лёд")
                   textbutton _(u"Заморозка")#"Противник в течении 5 ходов не может атаковать, т.е. неудачных блоков должно быть 5 + получает дополнительный урон в 10 единиц и плюс 50 – при получении крита"
                   textbutton _(u"Кольцо холода")# "Одновременно идёт атака по 3 направлением, 2 попадания. Возможен критический."
                    
       vbox:
           frame:
               style_group "pref"
               has hbox
               vbox:
                   label _(u"Пламя")
                   textbutton _(u"Поджог")#"Здоровье противника с каждым ходом уменьшается на 5 единиц, эффект длится до 3 пропущенных ударов."
                   textbutton _(u"Адреналин")# "В течении 10 ходов Лина получает  +30 к атаке (вероятность крита 0.4), при удачном блоке она наносит противнику 20 ед урона"

       vbox:    
           frame: 
               style_group "pref"
               has hbox
               vbox:
                   label _(u"Тьма")
                   textbutton _(u"Кража души") #здоровье противника уменьшается на 50 ед, здоровье Лины растёт на 75 единиц. Возможен магический крит в -80 у врага и +120 у Эммы (0.1)
                   textbutton _(u"Броня Тьмы") # Появляется броня в 100 единиц, если её значение больше 0, то урон, получаемый Линой, уменьшается в 10 раз. сама же броня получает полный урон.

 

Итак, вот сама проблема. Как назначить каждой клавише определённое действие? в файле со скринами я вижу вот это (фрагмент с клавишами):

label _("Display")
               textbutton _("Window") action Preference("display", "window")
               textbutton _("Fullscreen") action Preference("display", "fullscreen")

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

Preference("display", "window")

Однако в самом файле скринов такого действия я нигде не нашёл. Как их задавать и назначать на кнопки?!

Опубликовано

Хм. походу я невнимательно в рецепт посмотрел. прости.

 

Насчёт кнопок - у меня несколько вариантов, один - листья с вырезанными на них узорами стрелок, 2 - готические стрелки с кучей завитушек, 3 - что-то в стиле моих лайбаров (ну, драгоценные камни в обрамлении металла). Всё никак не определюсь, что рисовать.

Опубликовано

Доброго времени суток. Возможно, я уже надоел вам своими вопросами, но щито поделать - в программировании я полный нуль, а создать новеллу хочется.

Начнем с того, что пролог моей новеллы вышел(Если кому интересны психологические триллеры - прошу проследовать по ссылочке: http://rutracker.org/forum/viewtopic.php?t=4386213). А тем временем к вопросам:

1. Как сделать так, чтобы при нажатии на кнопку "Новая Игра" был выбор глав? То есть грубо говоря начинать текст сначала или с определенного места.

2. Как анимировать бекграунд в новелле? Например, потрясти определенную часть или что-то в этом роде. А так же очень интересно, как сделать это не в одной реплике, а на протяжении, например, нескольких.

3. Как сделать нечто вроде скриптовых роликов - чтоб игрок просто смотрел за анимацией/выводом текста на экран и даже при нажатии ЛКМ он ничего не мог пропустить?

 

Очень хотелось бы получить ответы на эти вопросы. И заранее извиняюсь за возможную глупость и обыденность.

Всем спасибо.

Опубликовано

1. В начале метки start сделать меню с названиями глав или показать screen на котором будет красочный imagemap

menu:
   "Chapter 1":
       jump ch_1
   "Chapter 2" if persistent.chapter_1_seen:
       jump ch_2

 

2. Для того, чтобы просто потрясти экран есть vpunch и hpunch (описаны в игре-примере). Для создания анимации или эффектов, которые можно применять к картинкам на экране на протяжении нескольких реплик надо использовать ATL

http://www.renpy.org/doc/html/atl.html

 

 

3. Можно по-разному, например

transform my_transf:
   alpha 0.1 xalign 0.6 yalign 0.5
   parallel:
       linear 1.5 alpha 1.0
       linear 1.5 alpha 0.1
   parallel:
       linear 3.0 xalign 0.4

# The game starts here.
label start:

   e "You've created a new Ren'Py game."
   # (c) http://slipsum.com/
   show text "Now that there is the Tec-9," at my_transf
   $ renpy.pause(3.0, hard=True)
   show text "a crappy spray gun from South Miami." at my_transf
   $ renpy.pause(3.0, hard=True)
   show text "This gun is advertised as" at my_transf
   $ renpy.pause(3.0, hard=True)
   show text "the most popular gun in American crime." at my_transf
   $ renpy.pause(3.0, hard=True)
   show text "Do you believe that shit?" at my_transf
   $ renpy.pause(3.0, hard=True)
   hide text

   e "Once you add a story, pictures, and music, you can release it to the world!"

   return

Опубликовано

Алекс__, спасибо большое, вот только я не очень понял, куда и как записать эти Chapter'ы?

И еще, попробовал создать мувик по твоему скрипту - не работает.

while пробовал - не работает:
   хм, у меня все работает

Что именно не работает - есть сообщение об ошибке, на экране ничего не появляется, надпись появляется, но не тек как хотелось бы? Какую версию Рен'пи вы используете (для ATL нужна минимум 6.10, для ScreenLanguage - 6.11)?

 

init python:
   # если у постоянной переменной (лол) еще нет никакого значения, установим значение Ложь
   if not persistent.chapter_1_seen:
       persistent.chapter_1_seen = False
   if not persistent.chapter_2_seen:
       persistent.chapter_2_seen = False

label start:
   menu:
       "Chapter 1":
           jump ch_1
       "Chapter 2" if persistent.chapter_1_seen:
           jump ch_2

label ch_1:
   "глава 1"
   $ persistent.chapter_1_seen = True
   return    # возврат в главное меню
   # jump start    # или возврат к выбору глав

label ch_2:
   "глава 2"
   $ persistent.chapter_2_seen = True
   return    # возврат в главное меню
   # jump start    # или возврат к выбору глав

Опубликовано

Надо обновляться - для ATL нужна версия минимум 6.10, для ScreenLanguage - 6.11.

Перевод модуля запуска 6.11 есть (http://www.renpy.org/wiki/renpy/doc/translations/Russian/ver_6_11_2)

Перевод статьи по языку анимации и трансформаций (ATL), также сделали (на русской страничке есть ссылка http://www.renpy.org/wiki/renpy/rus)

Опубликовано

Надо обновляться - для ATL нужна версия минимум 6.10, для ScreenLanguage - 6.11.

Перевод модуля запуска 6.11 есть (http://www.renpy.org/wiki/renpy/doc/translations/Russian/ver_6_11_2)

Перевод статьи по языку анимации и трансформаций (ATL), также сделали (на русской страничке есть ссылка http://www.renpy.org/wiki/renpy/rus)

Что-то я и в правду сглупил. Спасибо Вам огромное, все работает.

Опубликовано (изменено)

У меня вот такой вот вопрос. Использую скрины, нужно сделать кнопку, которая будет находиться на скрине, но только до тех пор, пока не обнулится определённая величина.

 

  screen items:
   button:
       area (600,400,200,80)
       text "Применить ракету. \n Осталось %($rocket)s шт"
       action Jump ("rocket")

 

Однако если я напишу вот так:

 screen items:
   button if rocket > 0:
       area (600,400,200,80)
       text "Применить ракету. \n Осталось %($rocket)s шт"
       action Jump ("rocket")

 

Ренпи возмущается и посылает меня матом. Что делать?

 

Ещё один вопрос. Какие вообще действия можно навесить на "action"? Полный список. если можно. С пояснениями =)

Изменено пользователем Zapor (смотреть историю редактирования)
Опубликовано (изменено)

Новая проблема, ребятки. Нужно создать анимированную картинку строго в определённом месте. Для размещения картинки по логике удобнее всего использовать скрины, но...

 

image armor_anim:
        "Images/zapor/armor_red_1.png" with dissolve 
        pause .5
        "Images/zapor/armor_red_2.png" with dissolve 
        pause .5
        repeat

 

Картинку мы обьявили, теперь размещаем её на экране...

  button:
       area (0,230,210,200)
       background(image armor_anim)

И вот тут РенПи посылает меня сами понимаете куда. Действия на кнопку не навешиваю, т.к. это информационный скрин. С одиночной картинкой, вписываемой на место "image armor_anim", всё работает, но мне нужна именно анимация.

 

Что делать? Если размещать изображение не через скрин, то ещё неясно, как именно вставить её точно на нужное место. А статичная картинка... :/

 

*а, всё, разобрался. Однако возникает другая беда - в изображении есть прозрачные участки, и при смене кадров с включенным переходом эти участки становятся чёрными. Есть ли способ исправить?

Изменено пользователем Zapor (смотреть историю редактирования)
Опубликовано

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

По поводу проблем с dissolve'ом - немного измените ваш код http://www.renpy.org/doc/html/atl.html#expression-statement

Если надо сделать экран с картинкой, то поможет команда add - http://www.renpy.org/doc/html/screens.html#add

Проблема с вашей анимированой картинкой скорее всего в том, что ее название надо написать в кавычках <background("image armor_anim")> иначе Рен'пи считает, что вы используете переменную image armor_anim значение которой вы, конечно же, не присваивали ранее.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...

Важная информация