Проект "Casanova Jr.: Девушка с девушкой - Она и она"
|
|
TLT | Дата: Вторник, 04.10.2016, 18:04 | Сообщение # 46 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Передал мне, больше ничего не делай, чтобы не делать параллельные версии, обнуляя усилия друг друга. Жди.
Вот так.
|
|
| |
Томахомэ | Дата: Вторник, 04.10.2016, 18:23 | Сообщение # 47 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Подожду.
|
|
| |
TLT | Дата: Вторник, 04.10.2016, 19:01 | Сообщение # 48 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Всё оказалось проще некуда. Никакой мистики.
В чём твоя ошибка:
У тебя Action блоки стоят НЕ по прорядку:
Action 6, 8, 9, 10, 11, 12, 14
а затем уже 7.
Но в конце цикла обнуление drow.
Ты если Choice=0 Action=7 ставишь Action=12
всё срабатывает, то сразу же после того как Action=12 происходит drow=0 и начинается цикл заново. А если drow=0, то ничего не отрисовывается, поэтому тебе нужно нажать что-то, чтобы стало drow=1 и что-то отрисовалось.
Если блок Action=7 поставить выше блоки Action=12, то после событий 7 отрисуется блок 12 за один цикл, и лишь тогда drow обнулится.
Я переставил в Scena_2 эти 3 блока с чойсами выше, чтобы подряд экшенов был нормальным. Проблема решилась.
В других сценах ты уже сам сможешь это откорректировать.
Чтобы порядок блоков шёл Action=1,2,3,4,5,6,7 и т.д. а не так: Action=2,4,5,7
//Дополнительно добавил в сцену блок дебага трёх функций. Можешь скопировать в другие.
Вот так.
|
|
| |
Томахомэ | Дата: Среда, 05.10.2016, 06:23 | Сообщение # 49 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Проверил - всё так и есть. Кстати, через несколько action`ов после того, как я в меню из 14-го Action`а -
Код if Action=14 then locate 22,1: print "Я пытаюсь, но ничего не получается." locate 23,1: print "Нужно найти другую. Только где...?" if Choice=0 then ink 2 locate 24,1: print "> ИДИ В КЛУБ." ink 1 locate 25,1: print " ИДИ В КАФЕ." locate 26,1: print " ОСТАНЬСЯ В ПАРКЕ." endif if Choice=1 then locate 24,1: print " ИДИ В КЛУБ." ink 2 locate 25,1: print "> ИДИ В КАФЕ." ink 1 locate 26,1: print " ОСТАНЬСЯ В ПАРКЕ." endif if Choice=2 then locate 24,1: print " ИДИ В КЛУБ." locate 25,1: print " ИДИ В КАФЕ." ink 2 locate 26,1: print "> ОСТАНЬСЯ В ПАРКЕ." ink 1 endif endif
- выбираю нижний пункт, и уже приходит пора привести рыжую домой -
Код '/////////// <...> if Choice=2 then if Action=15 then Action=8 Choice=0 endif endif '///////////
if Action=8 then ink 3 locate 24,1: print "Она:" locate 25,1: print "Ну, если ты настаиваешь..." ink 1 endif if Action=9 then locate 25,1: print "Девушке нравится, что я такой упрямый." endif if Action=10 then ink 3 locate 24,1: print "Она:" locate 25,1: print "Честно говоря, я уже спала с подружками. Ну ладно, я пойду с тобой - будет весело!" ink 1 endif if Action=11 then goto Home_1
- в Home_1 я почему-то после старового нажатия кнопки "А" сразу оказываюсь на тамошнем 12-м action`е:
Код '/////////// if Choice=0 then <...> if Action=12 then locate 25,1: print "Фотомодель включает радио." endif
Тут какая может быть причина?
|
|
| |
TLT | Дата: Среда, 05.10.2016, 10:19 | Сообщение # 50 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Цитата Томахомэ ( ) в Home_1 я почему-то после старового нажатия кнопки "А" сразу оказываюсь на тамошнем 12-м action`е: А нужно в каком, в Action=1?
Тогда, вероятно, нужно в начале загрузки сцены обнулить переменную, прописав Action=0 где-то выше строчки locate 25,1: print "Press button *A*" в этой сцене, в начале.
Так попробуй.
В предыдущей сцене же у тебя было завершено на
Код if Action=11 then goto Home_1
=> после одного нажатия *A* стало Action=12.
Поэтому можно сделать так:
Код if Action=11 then Action=0 goto Home_1 endif
Вот так.
|
|
| |
Томахомэ | Дата: Среда, 05.10.2016, 12:21 | Сообщение # 51 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TLT ( ) Поэтому можно сделать так:
Сделано. Теперь переносит точно куда надо. И другие баги с перенаправлением из парковых меню благодаря такому трюку тоже исправил. Ещё одна важная задача - исправить "укуренность" палитры в начале Home_1, Lose`ов и после привода домой блондинки из клуба.
Сообщение отредактировал Томахомэ - Среда, 05.10.2016, 13:00 |
|
| |
TLT | Дата: Среда, 05.10.2016, 20:18 | Сообщение # 52 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Цитата Томахомэ ( ) исправить "укуренность" палитры в начале Home_1, Lose`ов и после привода домой блондинки из клуба.
Вероятно это связано с тем, что ты где-то неправильно использовал функцию ink 0, 1, 2, 3.
попробуй разкомментировать перед отрисовкой фоновой картинки в тех локациях.
Цитата ' ink 0 DRAWTILESINC 256,0,0,40,28
Вот так.
|
|
| |
Томахомэ | Дата: Четверг, 06.10.2016, 04:44 | Сообщение # 53 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TLT ( ) попробуй разкомментировать перед отрисовкой фоновой картинки в тех локациях.
Сработало! Правда, шрифт в Lose`ах и в сцене после приведения девушки из клуба домой теперь из голубого перекрасился в коричневый.
|
|
| |
TLT | Дата: Четверг, 06.10.2016, 18:20 | Сообщение # 54 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Томахомэ, ну в чём проблема? Используй ink 0, 1, 2, 3.
Голубой это вторая палитра - ink 1
Вот так.
|
|
| |
Томахомэ | Дата: Пятница, 07.10.2016, 04:53 | Сообщение # 55 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TLT ( ) Томахомэ, ну в чём проблема? Используй ink 0, 1, 2, 3.
Голубой это вторая палитра - ink 1
Ну вот я сразу и вскрыл корень проблемы - оказывается, в этих местах я предварительно удалил следующую после кода установки фона строчку с указанием нажать кнопку "А" (чтобы переход был менее резким и более незаметным для игрока, к тому же, он наверняка уже давно понял, что для продвижения по игре надо жать "А"), а вместе с ней по ошибке - и команду ink. Всё сходится. Теперь ink вернул. Текст снова такой, как надо.
Сообщение отредактировал Томахомэ - Пятница, 07.10.2016, 05:04 |
|
| |
Томахомэ | Дата: Пятница, 07.10.2016, 15:16 | Сообщение # 56 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Хорошие новости - прогресс существенно ускорился. Вот тут - новая версия, где исправлены все баги текста, палитры и переходов. Добавлено пара новых реплик, убран за ненадобностью индикатор переменных Action, Choice и drow в парке и клубе, добавлены парочка новых реплик, а также надписи "Нажмите А" в начале каждого (кроме Scena_0) label`а заменены соответственно на первые их реплики (естественно, с соответствующими изменениями расписания Action`ов). Текстовая часть игры теперь полностью проходибельна.
Остальное дело, как мне кажется, в принципе за малым -
- сменить шрифты на те, что использовались в оригинальной игре;
- создать для текста реплик специальную рамочку, как в оригинальной игре (Выглядит она вот так. Сам текст при этом должен быть выровнен по центру (ширина) и нижней части экрана (высота), как в следующих далее скриншотах);
- для ещё некоторой части внутриигорового текста, например, надписей You Win и Game Over должна быть отведена специальная полупрозрачная толстая полоска, как на ещё одном скриншоте, анимированно развигающаяся из середины экрана;
- добавить аватарки персонажей, которые должны будут помещаться над левым верхним углом рамочек у некоторых реплик (Например, таких, или вот таких. К счастью, все аватарки из оригинальной игре хранятся в привычном для наших компов файле, прямо внутри архива - файл с ними всеми: вот он, прямиком из .jar`а.);
- изменить структуру меню в соответствии с оригиналом (см. первый скриншот с аватаркой);
- улучшить графику, приблизив к оригиналу, насколько это вообще возможно;
- музончик тоже собственный нужен, разумеется;
- Ну и конечно, же, ту самую мини-игру из оригинала тоже добавить надо.
То, что я перечислил - это лишь первоочерёдные на данный момент задачи. Кто знает, сколько ещё игре осталось до полной готовности.
|
|
| |
TLT | Дата: Пятница, 07.10.2016, 16:20 | Сообщение # 57 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Цитата Томахомэ ( ) Ну вот я сразу и вскрыл корень проблемы - оказывается, в этих местах я предварительно удалил следующую после кода установки фона строчку с указанием нажать кнопку "А" (чтобы переход был менее резким и более незаметным для игрока, к тому же, он наверняка уже давно понял, что для продвижения по игре надо жать "А"), а вместе с ней по ошибке - и команду ink. Всё сходится. Теперь ink вернул. Текст снова такой, как надо.
Это сделано для того, чтобы показать всю картинку перед начало действия... В будущем-то за текстом будет рамка, которая будет скрывать часть фона. поэтому я в начале сцены сделал такое.
Цитата Томахомэ ( ) Ну и конечно, же, ту самую мини-игру из оригинала тоже добавить надо. Дай сценарий мне как до неё дойти в j2me игре. Чтобы я глянул, что она из себя представляет.
Вот так.
|
|
| |
Томахомэ | Дата: Пятница, 07.10.2016, 16:51 | Сообщение # 58 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TLT ( ) Дай сценарий мне как до неё дойти в j2me игре. Чтобы я глянул, что она из себя представляет.
Всё просто - сначала отправляемся в парк. В первом тамошнем меню выбираем убедить рыжую встретиться с моделью, а в следующем всё-таки остаться в парке. После этого рыжая таки согласится встретиться. Когда приведём домой, в меню выбираем пункт налить вина. В следующем меню выбираем сходить в магазин за вином. Купив, сразу же при повялении первого же меню бежим домой, не задерживаемся. А там-то нас как раз ждут девочки "на взлёте", жаждущие страстного и нежного массажа. Вот тут как раз та самая мини-игруха и начинается.
|
|
| |
TLT | Дата: Пятница, 07.10.2016, 21:46 | Сообщение # 59 |
Генералиссимус
Группа: Администраторы
Сообщений: 2367
Статус: Оффлайн
| Томахомэ, дошел. Но там - "слишком быстро" пишет. В чём суть мини-игры, в чём механика? Это же просто анимация...
Вот так.
|
|
| |
Томахомэ | Дата: Суббота, 08.10.2016, 05:41 | Сообщение # 60 |
Генерал-лейтенант
Группа: Проверенные
Сообщений: 530
Статус: Оффлайн
| Цитата TLT ( ) Томахомэ, дошел. Но там - "слишком быстро" пишет. В чём суть мини-игры, в чём механика? Это же просто анимация...
Суть в том, чтобы точно попасть в нужную скорость - стараться массировать не слишком быстро, но и не слишком медленно. Это, конечно, непросто, но вполне осуществимо.
А вообще, по логике, наверняка механика мини-игры должна быть прописана в коде (спасибо DJ Java Decompiler`у, сегодня он доказал, что не просто так у меня место на жёстком диске занимает - мне удалось с его помощью декомпилировать все .class-файлы, а потом преобразовать в обыкновенные текстовые, так что знающие жабу люди могут помочь отыскать код мини-игры): все исходники в текстовом виде я собрал в этот архив, плюс туда добавлены ещё несколько файлов из jar`а, которые были текстовыми изначально - conf, lang, scenario, и т. д.
|
|
| |