Четверг, 21 Ноября 2024, 23:14

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Посимвольный вывод текста
HitorimaruДата: Воскресенье, 19 Октября 2014, 12:22 | Сообщение # 1
был не раз
Сейчас нет на сайте
Добрый день. Помогите, пожалуйста, разобраться: как сделать посимвольный вывод на экран заданного текста? Эффект, наверное, достаточно элементарно делается, но подобрать рабочий код не могу. Находил иногда использование схожих приемчиков в примерах, которые были ориентированы на другие проблемы, из-за чего вычленить отвечающий за фишку с выводом текста код и понять его я не мог. Помогите разобраться - как можно это сделать? gml недавно начал штудировать, прошу объяснить доходчиво т.т

Под посимвольным выводом я имею в виду поочередный вывод символов вплоть до вывода всего текста на экран... думаю, я достаточно точно объяснил х.х
JonLivingstonДата: Воскресенье, 19 Октября 2014, 14:52 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Не знаю, как это делается на гамаке, но в общем виде я бы написал что-то типа:

Код
i = i + time.deltaTime;
if(i > 3)
{
      write(str[x]);
      x = x + 1; //предварительно приравняйте ее к нулю
      i = 0;
}


Код вставляется в метод обновления состояния игры (обычно Update называется). Если по-русски, то код каждые 3 секунды выводит следующий символ из строки str. Все, что Вам осталось, это адаптировать код под GML, которого я не знаю happy


"Почему труднее всего на свете заставить птицу поверить в то, что она свободна?" - Ричард Бах
Наша первая игра Dark Forest
Let's play на Dark Forest


Сообщение отредактировал JonLivingston - Воскресенье, 19 Октября 2014, 16:01
HitorimaruДата: Воскресенье, 19 Октября 2014, 15:07 | Сообщение # 3
был не раз
Сейчас нет на сайте
Хм, чутка понятно, вроде, только в гамаке еще надо привязать к какому-то событию...
и еще не уверен в создании счетчика по времени, что в гамаке за него там отвечает...
А так-то да, логично-лаконично)


Сообщение отредактировал Hitorimaru - Воскресенье, 19 Октября 2014, 15:08
MartinKittenДата: Воскресенье, 19 Октября 2014, 15:15 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Hitorimaru, alarm'ы. Или почитай про работу с системным временем. А так да. Лучше использовать массив.

Per aspera ad astra
__________________
HitorimaruДата: Воскресенье, 19 Октября 2014, 15:26 | Сообщение # 5
был не раз
Сейчас нет на сайте
Точно, точно, сейчас проверю.
JonLivingstonДата: Воскресенье, 19 Октября 2014, 15:59 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Цитата MartinKitten ()
Лучше использовать массив.

Строка (тип string) это и есть массив, массив символов. По крайней мере в тех языках, на которых я писал.


"Почему труднее всего на свете заставить птицу поверить в то, что она свободна?" - Ричард Бах
Наша первая игра Dark Forest
Let's play на Dark Forest


Сообщение отредактировал JonLivingston - Воскресенье, 19 Октября 2014, 16:00
HitorimaruДата: Воскресенье, 19 Октября 2014, 16:10 | Сообщение # 7
был не раз
Сейчас нет на сайте
Блин, не получается запечатлеть в коде.
В скрипте, нужный текст - это argument0. Однако, не смотря на то, что он состоит из текста, is not an Array.
Блин, не могу написать эту штуку все равно...

Блин, работа со временем в гм какая-то жесткая и запутанная, не могу реализовать, помогите, пожалуйста.


Сообщение отредактировал Hitorimaru - Воскресенье, 19 Октября 2014, 17:51
jayreckДата: Воскресенье, 19 Октября 2014, 18:47 | Сообщение # 8
участник
Сейчас нет на сайте
мб так ? Курлык Курлык

g-null-dc
Ippolit - тамагоч
немного моего пиксель арта
HitorimaruДата: Воскресенье, 19 Октября 2014, 18:58 | Сообщение # 9
был не раз
Сейчас нет на сайте
Цитата jayreck ()
мб так ? Курлык Курлык

Ооо, вполне похоже на правду, спасибо, буду пробовать. А то я такие извращения уже перепробовал... жесть индусская. Весь день угробил х)

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


Сообщение отредактировал Hitorimaru - Воскресенье, 19 Октября 2014, 20:31
XDominatorДата: Понедельник, 20 Октября 2014, 21:20 | Сообщение # 10
постоянный участник
Сейчас нет на сайте
Вообще в гамаке строка - не массив. Для того чтобы получить конкретный символ в строке, есть специальная функция, не помню как точно, вроде string_pos или вроде того. Переключаешь итератором символы по очереди и выводишь их на экран, всего и делов smile

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
HitorimaruДата: Вторник, 21 Октября 2014, 11:41 | Сообщение # 11
был не раз
Сейчас нет на сайте
Цитата XDominator ()
Вообще в гамаке строка - не массив. Для того чтобы получить конкретный символ в строке, есть специальная функция, не помню как точно, вроде string_pos или вроде того. Переключаешь итератором символы по очереди и выводишь их на экран, всего и делов

Хоть я и не особо понял, но спасибо за вариант. Однако я уже разобрался с методом, описанным в ссылке выше и успешно осознал и адаптировал код. Метод оказался весьма органично-выглядящим для моей задумки, его я и развиваю :з.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг