Перейти к содержанию
Обновление форума

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

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

всем привет, делаю менюшку без фреймов, возникла следующая проблема.

сделал кнопки меню таким образом:

http://s7.hostingkartinok.com/uploads/images/2015/01/ea9b79e0448078a4bbdf50797d8e599a.jpg

vbox xalign .1 yalign .24:
           imagebutton:
               idle "Images/okno1.png"
               hover "Images/okno2.png"
               action Preference("display", "window")   	
               
vbox xalign .1 yalign .18:
           imagebutton:                  
               idle "Images/polniiekran1.png"
               hover "Images/polniiekran2.png"
               action Preference("display", "fullscreen")

они работают как должны, но если увести курсор с кнопки, она все равно визуально "не активирована" (видно на картинке выше).

мне просто надо поставить картинки "Images/okno2.png" или "Images/polniiekran2.png" поверх кнопки, после клика по ней. как это можно реализовать? чувствую что решение в 2 слова, но как ни бился, не получается.

если решить эту задачу то меню полностью готово. Спасибо

18413885_1203511827_bp.gif

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

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

Популярные посты

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

  • Рен'пи ожидал конец строки, а обнаружил двоеточие... (должно быть просто <jump dush>) Двоеточие ставится в конце первой строки блока - оно показывает, что последующие строки этого блока должны и

  • Что ж, не думаю что это хорошо браться с середины, но надо же хоть как то начинать)) К концку недели ждите первый перевод... наверно по порядку, так что - ATL. Может кому пример подам ^_^   Кому инте

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

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

Кроме картинок для состояний idle и hover (обычная-не в фокусе / обычная в фокусе) надо добавить еще картинки для состояний selected_idle и selected_hover (активированная-не в фокусе / активированная-в фокусе):

vbox xalign .1 yalign .24:
           imagebutton:
               idle "Images/okno1.png"
               hover "Images/okno2.png"
               selected_idle "Images/okno2.png"
               selected_hover "Images/okno2.png" # или другую картинку для этого состояния
               action Preference("display", "window")          
               
vbox xalign .1 yalign .18:
           imagebutton:                  
               idle "Images/polniiekran1.png"
               hover "Images/polniiekran2.png"
               selected_idle "Images/polniiekran2.png"
               selected_hover "Images/polniiekran2.png"
               action Preference("display", "fullscreen")

http://www.renpy.org...tml#imagebutton

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

Здравствуйте, хочу добавить в игру свой курсор, Вот здесь нашел простой код

 

init: 
 $  config.mouse = {"default" : ("cursor.png", 0, 0)}

 

но он выдает ошибку, когда вставляю в конец файла options.rpy, подскажите как правильно это сделать. Спасибоsmile.gif

 

нашел ответ на свой вопросlaugh.gif

config.mouse = { 'default' : [ ('mouse.png', 0, 0)] }

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

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

Здрасте. Пытаюсь сделать что то типа порта на андроид и возникает вопрос: можно ли сделать что бы рабочее окно программы было фулскрином?

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

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

и еще (простите за мою неосведомленность): если я пишу все диалоги в script это плохо?

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

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

В последних версиях Рен'Пи можно делать сборки игр для андроид. Могу ошибаться, но на андроиде игры запускаются всегда в полноэкранном режиме.

Код проекта можно поместить в один файл (например script.rpy) или в несколько - как вам удобнее работать с ним.

В меню совсем не обязательно делать переход на новую метку, можно просто продолжить писать код, только не забудьте про отступы (http://www.renpy.org...t_are_blocks.3F).

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

спасибо за ответ.

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

про переходы разобрался, не так то все и сложно.

Сейчас терзают меня мысли: можно ли как то реализовать в меню кнопку, переключающую все image на другие? ну то есть можно вытянуть оригинальные сцены, пообрезать в paint.net персонажей и сделать порт максимально похожим на оригинал, но т.к. игруля старенькая, то и сцены, и персонажи слабого качества, поэтому первоначально задумывалось заменить всю графику. Но дабы избежать коментов типа "раньше было лучше", пришла мысль про кнопку "оригинал\не оригинал". тут надо применить (как написано в руководстве для начинающих) конструкцию "Если-То-Иначе"? или это только для диалогов?

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

Для того, чтобы фоны полностью помещались на экране надо верно указать размеры игрового экрана (config.screen_height и config.screen_width - можно их найти в options.rpy) - http://www.renpy.org...g.screen_height

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

 

Можете попробовать сделать кнопку, которая будет переключать значение некой переменной, а всю графику сделать с помощью ConditionSwitch (http://www.renpy.org...ConditionSwitch http://lemmasoft.ren...hp?f=51&t=19063)

http://www.renpy.org...ml#data-actions

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

Подскажите еще с одним вопросом: в проекте папка "tmp" для чего нужна? там файлы отображаются все которые я раньше использовал (музыка, картинки, от которых отказался) и на которых остановился.

Просто когда я собирал андроид приложение, вышло 400Мб

Создал копию проекта, удалил tmp (осталась только папка и один файл txt)-104Мб. Так вот, перед созданием приложения надо удалять этот tmp? Или наоборот не стоит, а то настигнет какая-то кара?

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

Файлы в этой папке создаются автоматически, перед созданием дистрибутива папку удаляйте.

(также удаляйте ее если вдруг при работе с imagemap'ами будут возникать всякие глюки и кракозябры)

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

Привет. Такой вопрос — можно ли во время вызова диалогов (скрина say)

как-то блокировать присутствующие на экране imagebutton-ы? Т.е. если начинается

диалог, чтобы нельзя было ничего из активных объектов нажать в это время.

 

У меня пока только какие-то довольно-таки дикие решения крутятся в голове —

типа подвесить какую-то переменную, которая при on "show" диалогового окна будет

False, а при on "hide" — True. Ну и везде в кнопках в action прописать через If(), что

код выполняется только если переменная True. Но это же извращение то еще.

Может (да и наверняка) что-то более очевидное есть?

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

Придумался еще вариант — засунуть практически прозрачный imagebutton c NullAction() в скрин Say размером до

самого диалогового окна... Но что-то это тоже, мягко говоря, не слишком изящное решение.

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

Как вариант

screen testbutton:
   textbutton "Test" action If(renpy.get_screen("say"), None, Hide("testbutton")) align (0.5, 0.05)

# The game starts here.
label start:
   
   show screen testbutton
   "Line 1"
   "Line 2"
   $ renpy.pause()
   "???"
   "Line 3"

http://www.renpy.org...enpy.get_screen

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

Спасибо. Полезная функция. Хотя по сути, та же схема с If на каждом imagebutton, хоть и без лишних переменных...

Интересно, а можно как-то на action (через Function() или еще как-то) подвесить действие аналогичное клику во время диалогового окна?

Т.е. чтобы клик по некой imagebutton (которая будет прозрачной и растянутой на весь экран) обрабатывался как стандартный клик во

время присутствия скрина say?

Опубликовано
comment_2971699
Ага, нашел на lemmasoft решение. Делаем скрин say modal True. И потом в нем же вешаем на весь экран прозрачную imagebutton с action такого вида: renpy.curry(renpy.restart_interaction). Тогда клик будет обрабатываться как надо, при этом все что под say нельзя будет нажать. Остался только один вопрос — как заставить space и ctrl работать с таким say как полагается?
Опубликовано
comment_2971704

Так, если убрать modal True, то ctrl работает нормально (и say все перекрывает как надо). Осталось только space оживить. :)

ADD: Если добавить

key "K_SPACE" action renpy.curry(renpy.restart_interaction)

,то все работает как надо.

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

  • 1 месяц спустя...
Опубликовано
comment_2975902
Недавно рассказывал одногруппнику в универе про визуальные новеллы и даже показывал кое-что на ноутбуке. Затронул тему Ren'Py, а он мне как и сказанёт: "А зачем париться с движками, если её точно так же можно сделать в Power Point?". И чем больше я об этом думаю, тем меньше мне эта мысль дает покоя.

The devil I shall meet, the devil I shall slay.

The saint I shall meet, the saint I shall slay.

Therein lies the way of the sword.

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

проблемы с последствиями принятых ранее решений.

если kinetic novel без ветвлений -- согласен, легко можно сделать как презентацию (только придумать, как запоминать "где остановился").

а если что-то посложнее, то не выйдет.

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

Вопрос уважаемым новелло-делам.

 

http://www.fabervisum.org/wp-content/uploads/2015/01/%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5.jpg

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

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

 

И еще вопрос. Почему-то при попытке закрыть игру (крестиком) в главном меню на экранах загрузки или настроек, происходит вот такое:

http://www.fabervisum.org/wp-content/uploads/2015/01/Выход.jpg

 

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

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

По вопросу с именами файлов сохранения разобрался, вот, может кому пригодится:

 

Свое имя для файла сохранения.

 

В RenPy для этого есть зарезервированная переменная save_name = "", значение которой записывается в файл сохранения и возвращается функцией:

FileSaveName(i)

просто меняем ее у себя в коде по мере надобности, например вот так:

$ place = p3 # указываем в переменной place текущее место

$ save_name = "Глава " + str(int(stage)) +". " + place # в stage хранится номер главы

пример того, что можно получить:

 

C3bSYYmcJHM.jpg

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

Всем привет!

Как я понимаю, для создания игры большинство используют стандартные текстовые редакторы, которые идут в комплекте с СДК. Но некоторых эти инструменты не устраивают, и они пытаются приспособить что-то другое. Вот и я решил внести свои пять копеек. Может быть кому и пригодится.

За основу взят текстовый редактор RJ TextEd. Почему именно он? Он умеет все то же, что и другие редакторы для программистов (напр., та же Editra) + немного больше. Некоторые его особенности:

  • изначально приличное количество опций для работы с текстом (напр., удаление/дублирование строки, на которой находится курсор, или удаление/добавление отступа у всех выделенных строк, обрамление выделенного фрагмента разного вида кавычками и т.п.);
  • удобный инструмент для ввода кода цвета (ставите курсор в нужное место, открываете инструмент, выбираете цвет и по закрытию окна код вставляется в нужное место);
  • благодаря использованию FastScript есть возможность написания собственных скриптов на 4 языках программирования;
  • если со скриптами разобраться сложно, то можно использовать макросы;
  • весьма обширные возможности по настройке интерфейса программы (можно скрывать/отображать почти все панели, кнопки, а с помощью сриптов добавлять свои собственные кнопки, панели, меню, менять шрифт как программы, так и открываемых документов).
  • проверка орфографии для английского и русского языков.
     

Это только краткий перечень. Подробнее можно почитать на оф. сайте или в Интернете.

 

Теперь особенности сборки:

  • полностью реализована подсветка языка RenPy (несколько десятков ключевых слов и около двух сотен различных Properties). Все они разбиты на 4 группы:
    1 группа (Keywords) - наиболее часто встречающиеся ключевые слова (напр., label, scene, init, jump и т.п.);
    2 группа (Effects) - отдельно выделил различные эффеты (fade, dissolve и т.п.)
    3 группа (Properteis) - различные свойства (Properties)
    4 группа (Operators) - различные служебные слова и операторы (with, continue, for и т.п.)
    Для каждой группы в настройках можно назначить свой цвет, гарнитуру шрифта.
  • по CTRL-SPACE доступен список автодополнения (несколько десятков наиболее часто встречающихся названий меток, функций). В списке действует инкрементный фильтр.
  • автозавершение классов. Попробуйте набрать "renpy." или "ui." и подождать полсекунды или набрать CTRL-SPACE. Появится весь доступный на данный момент (начало апреля 2015) список свойств и функций. В списке действует инкрементный фильтр.
  • при вводе аргументов функции (когда вы ставите курсор между скобок) появляется всплывающая подсказка. Если она пропала, то вызвать её можно по CTRL+SHIFT+H.
  • кроме этого, добавил автозавершение после "at/with+пробел";
  • реализовал сворачивание кода по label, а также теперь можно отслеживать и быстро перемещаться по всем лейблам на вкладке "проводник кода".
  • добавил несколько кнопок для удобной вставки тэгов (напр., курсив, жирный и т.п.). Просто выделите текст и нажмите на кнопку. Тэги автоматически вставятся.
     
  • Удалил все лишние языки подсветки. Если они вам нужны, то скачайте с оф. сайта портативную версию и скопируйте из папки Syntax нужные файлы.
  • Версия не требует установки.
  • Оставлена только версия для Windows x32.
     

 

Пожелания, комментарии приветствуются. Если нужны какие-то скрипты, а самим лениво возиться, то можете обращаться. Попробую реализовать.

Ссылка на скачивание

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

Недавно рассказывал одногруппнику в универе про визуальные новеллы и даже показывал кое-что на ноутбуке. Затронул тему Ren'Py, а он мне как и сказанёт: "А зачем париться с движками, если её точно так же можно сделать в Power Point?". И чем больше я об этом думаю, тем меньше мне эта мысль дает покоя.

 

Вообще, можно.

Единственное значимое ограничение, на мой взгляд, требование установки офиса на комп игрока.

+ придется озаботиться о совместимости, аудио/видео кодеках и т.п. Ну т.е. если создавать чисто для себя, то без проблем. Даже, хочу заметить, эта мысль весьма любопытная. Но вот при желании своим творением поделиться проблемы, конечно, неизбежно возникнут.

 

Ренп, в этом отношении, автономнее.

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

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

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

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

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.