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

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

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

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 тыс
  • Создана
  • Последний ответ

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

 

 

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

 

 

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

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

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

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

 

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

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

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

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

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

 

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

$_game_menu_screen = None

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

$_game_menu_screen = "save_screen"

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

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

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

 

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

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

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

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

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

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).

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

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

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

Длительность ролика 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 (смотреть историю редактирования)
Опубликовано

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

Так?

init:
   
   $ import aliens

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

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

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

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

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

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

 

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

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

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

 

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

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

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

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

 

Для настройки игры надо менять ее код. Откройте файл "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
"С игрой покончено, можем продолжать."

Изменено пользователем Алекс__ (смотреть историю редактирования)
Опубликовано (изменено)
Когда увеличила размер игрового экрана, то снаряды перестали долетать до персонажа. Как удлинить их полет? Изменено пользователем Vicente (смотреть историю редактирования)
Опубликовано
Ммммм... Продолжим "издеваться" над кодом в файле "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) # положение надписи со счетом

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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