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

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

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

Vicente, вы точно ответили на 5 вопросов правильно? Не на 4, не на 6, т.к. у вас стоит условие <if victory == 5>.

Возможно в коде неправильно организованы jump'ы... Вообще, зачем прыгать по блокам? Можно задать вопросы подряд, разбавив неким текстом между менюшками...

label start:
   $ victory = 0 # начальное значение
   menu:
       "Первый вопрос":
            "Правильный ответ":
                 $ victory +=1
            "Неправильный ответ":
                 pass
   menu:
       "Второй вопрос":
            "Правильный ответ":
                 $ victory +=1
            "Неправильный ответ":
                 pass
   menu:
       "Третий вопрос":
            "Правильный ответ":
                 $ victory +=1
            "Неправильный ответ":
                 pass
   menu:
       "Четвертый вопрос":
            "Правильный ответ":
                 $ victory +=1
            "Неправильный ответ":
                 pass
   menu:
       "Пятый вопрос":
            "Правильный ответ":
                 $ victory +=1
            "Неправильный ответ":
                 pass
   "Вот и все с вопросами. Теперь узнаем результат..."
   jump result

label result:
   if victory >4:
       "Похоже, что это победа...))"
   else:
       "Всего %(victory)d правильных ответов, а надо - 5."

В процессе можно использовать Developer tool (Shift + d - язык должен быть английским) - в открывшемся меню выбрать Variable Viewer (просмотр переменных). Там будут написаны текущие значения игровых переменных.

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

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

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

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

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

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

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

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

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

Использовала джамп, лейбл и элз и все получилось http://smayly.net.ru/gallery/anime/pictures/RedFox_1/3.gif

В процессе можно использовать Developer tool

Очень полезная штука. Надеюсь она не работает в финальной версии. А то как-то по-читерски это выглядит.

Опубликовано
comment_2690551
Очень полезная штука. Надеюсь она не работает в финальной версии. А то как-то по-читерски это выглядит.
Дык, отключать надо...))

http://www.renpy.org...Developer_Tools

http://www.renpy.org...onfig.developer

http://www.renpy.org...asing-your-game

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

А видео для вставки должно быть какие-то особенное? А то у меня игра зависает перед тем как оно должно воспроизвестись(AVI подогнано под размер окна(800х600))

 

Как можно ввести текст в центре на весь экран?

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

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

Как можно ввести текст в центре на весь экран?

Что ты имеешь в виду под вопросом "ввести текст в центре на весь экран"?

Если просто вывести надпись в центре экрана, то это делается так:

 

 

centered "Текст в центре экрана"

 

 

Или тебе нужно что-то более сложное?

Опубликовано
comment_2692002
Какую кодировку и форматы поддерживает ренпи?

Movies: OGG Theora, MPEG 4, MPEG 2, MPEG 1

http://www.renpy.org/why.html

 

А видео для вставки должно быть какие-то особенное? А то у меня игра зависает перед тем как оно должно воспроизвестись

Т.е. видео не воспроизводится вообще? (или через полчаса все-таки оно появляется?) Есть ли сообщение об ошибке?

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

С вставкой видео разобралась, стоило только сменить конвертер.

Как-то можно сделать чтоб видео по клику нельзя было остановить?

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

play movie "user_hate.ogv"
$ renpy.pause(15.0, hard=True)

Должно получиться (длительность паузы должна соответствовать длительности видео, а <hard=True> делает невозможным прервать паузу кликом мыши).

 

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

$_game_menu_screen = None

перед видео, и

$_game_menu_screen = "save_screen"

сразу после паузы.

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

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

Здравствуйте.

 

Я интересуюсь созданием своего меню и в связи с этим у меня имеются вопросы по его реализации:

1) Правильно ли я понимаю, что используются два файла с меню в формате jpg? На первом есть все отметки выделенной области, а на второй только само меню и когда мы выбираем конкретный пункт менюшки первого файла, высвечивается фрагмент с "знаком выбора" из второго, а интерактивная область для нажатия кнопок задаётся четырьмя координатами?

2) Код расположенный по ссылке размещается в конце файла option?

3) mm_root надо предварить знаком "#"? Если да, то только mm_root?

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

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

to Vicente

Сначала идет видео(оно пропускается), а затем пауза. Одновременно они не работают.
?!

Что значит "пропускается"? Попробовал сам (на 6.12.1, 6.10.1, 6.9.3) - видео воспроизводится, кликом мыши оно не прерывается, но исполняются следующие строки скриптА. Пауза как раз и предотвращает исполнение этих строк (длительность паузы должна соответствовать длительности видео).

Если у вас не так, то опишите поподробнее, плиззз.

 

to MrStitch

1) Наоборот - первое изображение (ground) неактивное меню, а второе (selected) - где все пункты нарисованы активными. Интерактивная область задатся координатами (x,y верхнего левого угла области) (x,y правого нижнего угла области) - для каждой кнопки меню.

2) Код может располагаться в любом блоке init: ($ layout.imagemap_main_menu ...) либо init python: (layout.imagemap_main_menu ...) соответственно. Для более удобного редактирования его можно разместить в файле options.rpy.

3) Строки кода исполняются в строго определенной последовательности. Даже если не использовать знак "#", а поместить <layout.imagemap_main_menu ...> в конец файла options.rpy, то последней исполнится эта строка и она-то и будет определять вид меню. Если расположить ее в другом блоке init:, то он должен быть с индексом больше -2, т.е. init -1:, или init:, или init 120: и т.д., т.к. в options.rpy используется блок init -2: (суть в том, что бы этот код исполнился после стандартного кода, который прописан по умолчанию).

 

Пы.Сы. Если используете Рен'пи версии 6.12.х, то там все меню выполнены в виде экранов (screens), с возможностью их редактирования. Таких возможностей на порядок выше (код для всех экранов, используемых по умолчанию, находится в screens.rpy).

Опубликовано
comment_2692420
Что значит "пропускается"?

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

длительность паузы должна соответствовать длительности видео

Длительность ролика 1:29 я пишу значения в секундах. Это правильно?

 $_game_menu_screen = None
   $ renpy.movie_cutscene("Gem.mkv", stop_music=True)
   $_game_menu_screen = "save_screen"
   $ renpy.pause(89.0, hard=True) 

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

Опубликовано
comment_2692484
$ renpy.movie_cutscene("Gem.mkv", stop_music=True)
?!

В моем примере:

   $_game_menu_screen = None

   play movie "Gem.mkv"
   
   $ renpy.pause(89.0, hard=True) 
   $_game_menu_screen = "save_screen" # "включим" правый клик после просмотра видео

 

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

Подскажите как правильно импортировать мини-игру в новеллу.

Так?

init:
   
   $ import aliens

label start:
   $ renpy.free_memory()
   $ score = aliens.main()

И куда нужно скопировать данные игры(картинки и т.д)? Нужно ли создавать отдельную папку или все нужно кидать туда же, где все данные новеллы?

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

Ммм, сам никогда не пытался делать мини-игры при помощи renpygame...

Если вы хотите использовать игру с инопланетными тарелочками в своей ВН, то надо скопировать в папку *ваш_проект/game* файл "aliens.py" (где находится сам код мини-игры), для игры нужны картинки и звуки, которые должны располагаться в папке *ваш_проект/game/data* (так указано в коде мини-игры, если изменить название папки, то выдаст ошибку, если только не полезете менять код игры). Также, стоит скопировать папку "renpygame", которая есть в комплекте с демо-игрой, и положить ее в папку *ваш_проект* (рядом с "game"), чтобы фреймворк мог работать (название папки не менять, иначе выдаст ошибку).

В общем, все как в демо-игре фреймворк'а...))

 

Ваш код должен сработать - сперва импортируем игру (в блоке init:), а затем, строкой <$ score = aliens.main()> запустим функцию, определенную в игре как "main".

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

Отлично, игра запустилась. Вот только во время мини-игры размер экрана уменьшается. Разрешение как-то можно поменять?

 

Теперь проблема с итогом игры. Надеялась на этот код:

 if score > 10:
         jump gam # продолжение новеллы
 else:
        "game over"

Но не получилось. Как это правится и возможно ли сделать так чтобы, например, после 10 тарелок (у меня не тарелки, правда) игра автоматически заканчивалась и снова переходила на новеллу?

Опубликовано
comment_2692750
(у меня не тарелки, правда)
Эт' понятно...))

 

Для настройки игры надо менять ее код. Откройте файл "aliens.py" в jEdit или любом другом эдиторе.

В самом начале:

#game constants
SCREENRECT 	= Rect(0, 0, 800, 600) # размер игрового экрана (возможно придется откорректировать размер фоновой картинки)

 

Далее ближе к концу скрипта, в самой функции, которая описывает игру есть строка

while player.alive():

- это основной игровой цикл (пока игрок "жив" игра продолжается).

Меняем условие на что-то типа

while player.alive() and SCORE < 10: # в коде игры использована переменная SCORE (большие буквы) 

Тогда игра будет работать пока игрок "жив" и настрелял меньше 10 тарелочек (которые на самом деле уже не тарелочки).

 

Когда игра закончится, то можно вставить код

if score <10: # т.к. результат игры мы сохраняем в переменную score (<$ score = aliens.main()> - помните?)
   "Loooser... kekekeke"
   jump play_again_until_beat_this_game
"С игрой покончено, можем продолжать."

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

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

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

Опубликовано
comment_2693056
Ммммм... Продолжим "издеваться" над кодом в файле "aliens.py":
class Bomb(pygame.sprite.Sprite):
... ... ...
    	if self.rect.bottom >= 590: # надо поставить значение в пикселях, достигнув которого, бомба взорвется (0 - это самый верх игрового поля)

class Score(pygame.sprite.Sprite):
... ... ...
       self.rect = self.image.get_rect().move(10, 550) # положение надписи со счетом

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

Добил свою...

фанфик на основе "Меланхолии". Короткая, на основе конструктора "Novelty". Фоны брал просто из сети и из сериала.

Взять здесь.

Опубликовано
comment_2694043
to Jacksom: Не совсем понял: все персонажи должны были быть между собой знакомы, даже если у главного героя "проблемы с памятью", то остальные должны его помнить и относиться к нему как к знакомому... У меня сложилось впечатление, что никто не считает ГГ членом "команды СОС", хм.
Опубликовано
comment_2694232

Здравствуйте.

 

Недавно столкнулся с такой проблемой когда решил перебраться на новый ноут с предустановленной windows seven x64. Сам Ren'py стартовал вопреки моим опасениям, а вот редактор запускаться наотрез отказался. Можно ли как-нибудь решить эту проблему без установки движка в виртуальную машину? Может быть есть альтернативные редакторы?

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

to Jacksom: Не совсем понял: все персонажи должны были быть между собой знакомы, даже если у главного героя "проблемы с памятью", то остальные должны его помнить и относиться к нему как к знакомому... У меня сложилось впечатление, что никто не считает ГГ членом "команды СОС", хм.

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

Если возник вопрос, то поищите сам фанфик "Призрак заброшенного храма", там дается часть ответов.

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

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

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

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

Мы разместили 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.