Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

2    0    #1
23.02.2021 14:46

Nooby
Участник (+10)
Зарегистрирован: 08.02.2021
Сообщений: 14

ЗОК 20-21 - Закат лета

Twine java появление текста по нажатию кнопки.

Делаю игру на Twine. В игре вывожу текст порциями. Чтобы увидеть новую порцию игрок мышкой жамкает кнопку далее. Как сделать так чтобы у него была возможность также не жать на текст, а нажимать пробел, и/или еще либо кликнуть в любой части экрана чтобы сработал макрос выводящий текст? Пытался самостоятельно разобраться, но понял что моих скромных познаний не хватает.
Или возможно вы знаете какой-то способ или макрос как сделать это в Twine ShugarCube/
Макросет на javascript ниже в спойлере.
Использую макрос continuelink.
Макросет:

 спойлер…

Вот пример задействования клавиатуры:

 спойлер…

Отредактировано Nooby (24.02.2021 08:57)

Неактивен

1    0    #2
23.02.2021 17:25

Сергей Мальцев
Участник (+3, -1)
Зарегистрирован: 08.02.2021
Сообщений: 11

Re: Twine java появление текста по нажатию кнопки.

"Мнение случайного прохожего": то что могу посоветовать сильно усложнит процесс. Копал в другом направлении. Но это точно сработает.
Создайте через css несколько слоёв. Абсолютные, параметры влево и вверх по нолям. Пожалуй что и одного слоя хватит, но не уверен. Во внешнем слое будет прозрачная/полупрозрачная картинка. При клике на неё меняется переменная  вида $parametr smile
Из хитростей. Картинку нужно перевести в вид base 64. В отдельном параграфе пропишите показ картинки по ссылке URL, замените адрес на получившуюся ахинею )
В сюжете сделайте display  на этот параграф именно во внешнем слое. Если всё сработает, то всё перекроет эта заглушка.  В параграф с ахинеей придётся подставить содранный со справочника "клик"
<<click [img[data:image/png;base64data:image/png;base64,
дальше сам рисунок и в конце будет
]]>><<set $parametr = 3>><</click>>

Ну а дальше для вас всё очевидно. Кстати текст тоже можно сделать через дисплей, но это уже на усмотрение...

Неактивен

1    0    #3
24.02.2021 08:01

Oreolek
Модератор (+435, -169)
Откуда: Кемерово
Зарегистрирован: 02.11.2009
Сообщений: 642
Вебсайт

Re: Twine java появление текста по нажатию кнопки.

Это можно (и нужно) написать на Javascript, но дебажить тот жуткий однострочник нет никакой возможности.

Можно попробовать добавить обработчик клавиатуры отдельно - примерно как во втором куске кода, но в теле метода вызывать

Код:

jQuery("#output").wiki(passage.text);

, т.е. по нажатию клавиши к выводу добавляется содержимое следующего пассажа. То же с обработчиком кликов, только повесить его на #output. Больше проблем будет с тем, как этот обработчик потом убрать или обновить, чтобы он после первого перехода закидывал дальше по истории, а не назад, это надо чуть ли не повторять всю структуру игры заново в JS.

А так сама идея не очень: вот вы научили игрока жамкать пробел вместо мышки, а потом хотите дать не ссылку "Далее", а две ссылки на выбор - ему тоже пробел давить или вы будете полноценное управление с клавиатуры для твайна делать?

Неактивен

0    0    #4
24.02.2021 09:23

Nooby
Участник (+10)
Зарегистрирован: 08.02.2021
Сообщений: 14

ЗОК 20-21 - Закат лета

Re: Twine java появление текста по нажатию кнопки.

Oreolek написал:

Это можно (и нужно) написать на Javascript, но дебажить тот жуткий однострочник нет никакой возможности.

Ох простите, я думал что он и должен так выглядеть.
Прогнал код через java online formatter так как не знаю как правильно должно быть. С java сталкиваюсь первый раз. Да и вообще в программировании слабоват. Вообще насколько понимаю, чтобы не было таких проблем:

Oreolek написал:

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

Ножно дополнить макросет(большой код) и конкретный макрос(continuelink) возможностью реагировать на нажатие клавиши.


Oreolek написал:

А так сама идея не очень: вот вы научили игрока жамкать пробел вместо мышки, а потом хотите дать не ссылку "Далее", а две ссылки на выбор - ему тоже пробел давить или вы будете полноценное управление с клавиатуры для твайна делать?

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

Oreolek написал:

в теле метода вызывать

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

Неактивен

1    0    #5
24.02.2021 13:42

Сергей Мальцев
Участник (+3, -1)
Зарегистрирован: 08.02.2021
Сообщений: 11

Re: Twine java появление текста по нажатию кнопки.

Может быть есть смысл сделать маленькую имитацию и посмотреть в каких случаях это будет работать "на историю" а не станет пятым колесом.

 спойлер…

Отредактировано Сергей Мальцев (24.02.2021 14:15)

Неактивен

1    0    #6
25.02.2021 13:44

Nooby
Участник (+10)
Зарегистрирован: 08.02.2021
Сообщений: 14

ЗОК 20-21 - Закат лета

Re: Twine java появление текста по нажатию кнопки.

Сергей Мальцев написал:

Может быть есть смысл сделать маленькую имитацию и посмотреть в каких случаях это будет работать "на историю" а не станет пятым колесом.

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

Неактивен

2    0    #7
25.02.2021 13:58

Nooby
Участник (+10)
Зарегистрирован: 08.02.2021
Сообщений: 14

ЗОК 20-21 - Закат лета

Re: Twine java появление текста по нажатию кнопки.

В общем для страждущих клавиатуры я нашел великое грабельно- палковое решение

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

На ShugarCube работает на других не знаю.
Источники:
http://www.motoslave.net/sugarcube/down … be-2.x.zip
macro set [ZIP archive] [8 KiB] – SugarCube version of Leon's Combined Replace Macro Set.
https://www.glorioustrainwrecks.com/node/5462

https://www.reddit.com/r/twinegames/com … l/ddmikxu/
https://www.reddit.com/r/twinegames/com … _tutorial/


Использую replacelink-macro-set можно без него
Вот код который должен быть в javascript

 спойлер…

Вот то что должно быть в таблице стилей:

 спойлер…

И наконец вот пример того как это работает (нужно засунуть в параграф) а кнопка там пробел

 спойлер…

Отредактировано Nooby (25.02.2021 14:11)

Неактивен

Powered by PunBB
© copyright 2001–2021 iFiction.Ru