Четверг, 25 Апреля 2024, 18:40

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Художник пытается освоить GML (задаю вопросы по всем непоняткам)
Художник пытается освоить GML
FerrumelДата: Вторник, 21 Декабря 2010, 15:31 | Сообщение # 41
почти ветеран
Сейчас нет на сайте
А помоему текстовые операции гораздо быстрее графических, тут есть еще и одно удобство, если использовать картинку того же значка евро, это около 1кб занятой оперативки, если использовать код то это 2 байта, разница налицо. Да и сам код программы чуть, но короче. И время на изготовление картинки тратить не надо.
Нет, я не пытаюсь строить из себя сверх специалиста, я только изучаю GML, если он предоставляет такую возможность, почему бы ей и не воспользоваться, возможно в будущем мне эти коды и не пригодятся. А там кто его знает, может и понадобится делать игру крайне ограниченную по весу и требованиям. И вместо того чтобы увеличивать вес дополнительным шрифтом на 30-200кб, просто использовать ASCI.


все серо и пусто
ФилДата: Вторник, 21 Декабря 2010, 15:35 | Сообщение # 42
Томатный революционер
Сейчас нет на сайте
Quote (Ferrumel)
А помоему текстовые операции гораздо быстрее графических

В ГМ текстовые операции относятся к графическим. И они одинаковы медленны. Пиши на сурфейс и все проблемы с производительностью исчезнут.


Сообщение отредактировал Фил - Вторник, 21 Декабря 2010, 15:35
FerrumelДата: Вторник, 21 Декабря 2010, 15:41 | Сообщение # 43
почти ветеран
Сейчас нет на сайте
Фил, до них я еще не дошел в своем обучении, возможно и стану их ярым поклонником. biggrin

все серо и пусто
Dva_KotaДата: Вторник, 21 Декабря 2010, 15:47 | Сообщение # 44
заслуженный участник
Сейчас нет на сайте
Quote (Фил)
В ГМ текстовые операции относятся к графическим. И они одинаковы медленны.

Да, я про это и говорю. Но, при рисовании текста каждый символ рисуется отдельно (на сколько я знаю), при рисовании спрайта, на котором сразу весь нужный текст - он рисуется сразу целиком и это быстрее (проверено мной лично). Конечно, если каждый символ рисовать отдельным спрайтом то это, наверное не будет быстрее (я такое делать не побывал и не знаю будет ли это так же как рисование текста или медленнее (я думаю что медленнее)).

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


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Вторник, 21 Декабря 2010, 15:51
ФилДата: Вторник, 21 Декабря 2010, 15:49 | Сообщение # 45
Томатный революционер
Сейчас нет на сайте
Dva_Kota, а можно не отказываться от текста и рисовать на сурфейс. А потом отображать сурфейс на экран -> рисуем один спрайт вместо кучи теста
Dva_KotaДата: Вторник, 21 Декабря 2010, 15:52 | Сообщение # 46
заслуженный участник
Сейчас нет на сайте
Я и не говорю что нужно отказываться от текста. Сурфейсы рулят. smile
Просто привожу сравнеие двух способов.


Новый пример инвентаря! /20.06.2012/

Energy Wars
FerrumelДата: Вторник, 21 Декабря 2010, 15:53 | Сообщение # 47
почти ветеран
Сейчас нет на сайте
только что нашел, да и Фил ключевым словом подсказал. И текст и графика отображаются на экране с одинаковой скоростью, все потому что они воспроизводятся заново каждый шаг

все серо и пусто

Сообщение отредактировал Ferrumel - Вторник, 21 Декабря 2010, 15:55
ФилДата: Вторник, 21 Декабря 2010, 15:55 | Сообщение # 48
Томатный революционер
Сейчас нет на сайте
Quote (Dva_Kota)
Сурфейсы рулят.

о да smile
Ferrumel, да, и чем больше элементов рисуется - тем больше тормоза
FerrumelДата: Вторник, 21 Декабря 2010, 18:25 | Сообщение # 49
почти ветеран
Сейчас нет на сайте
string_format(val,tot,dec) Переводит значение val в строку в Ваш собственный формат: tot - указывает общее число мест и dec - указывает количество чисел после запятой.

В принципе понятная функция, но что такое tot ? и что за места он указывает?


все серо и пусто
ФилДата: Вторник, 21 Декабря 2010, 18:29 | Сообщение # 50
Томатный революционер
Сейчас нет на сайте
Ferrumel, а вы проведите эксперимент smile
Dva_KotaДата: Вторник, 21 Декабря 2010, 18:29 | Сообщение # 51
заслуженный участник
Сейчас нет на сайте
Ferrumel, ты этот текст откуда взял? Перевел переводчиком или это русская справка у тебя такая?

Quote (Из справки)
string_format(val,tot,dec) Переводит вещественное число val в строку, используя ваш собственный формат числа: аргумент tot отвечает за полное количество цифр в числе, а dec за количество цифр после десятичной точки.


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Вторник, 21 Декабря 2010, 18:31
FerrumelДата: Вторник, 21 Декабря 2010, 18:34 | Сообщение # 52
почти ветеран
Сейчас нет на сайте
Это у меня справка такая, там таакие ашипки, чисто логикой до иных вещей допирать приходится. Кстати, я вводил разное число tot никакой разницы не было, хоть ноль, хоть десять вбивай.

все серо и пусто
Dva_KotaДата: Вторник, 21 Декабря 2010, 18:41 | Сообщение # 53
заслуженный участник
Сейчас нет на сайте
Скачай отсюда нормальную русскую справку и будет тебе счастье. biggrin

Справка на русском


Новый пример инвентаря! /20.06.2012/

Energy Wars
FerrumelДата: Среда, 22 Декабря 2010, 14:11 | Сообщение # 54
почти ветеран
Сейчас нет на сайте
Dva_Kota, скачал и есть мне счастье)) это небо и земля biggrin

Добавлено (22.12.2010, 14:11)
---------------------------------------------
так поехали дальше
Продолжаю долбить функции работы со строками
1-string_format(val,tot,dec) устраивал опыты, все ясно все понятно, вот только tot не работает, ввожу любое число даже ноль, результат на экране одинаков. Тоесть как выводилось пять двоек так и выводится, тоесть значение 4 игнорируется.
пример
{
if keyboard_check_pressed (vk_anykey)
{
sl= string_format(22222.3455, 4, 1);
}
draw_text (x,y,sl);
}

2-string_pos(substr,str) Что есть substr я бы сюда не обращался за помощью не проведя до этого экспериментов, просто непойму что такое субстрока и с чем ее едят, какова ее роль, и откуда она берется.

3-string_copy(str,index,count) Возвращает подстроку строки str, начинающуюся с позиции index длиной length. Я так понял здесь очепятка должно быть написано длиной count? Если так то count вопросов не вызывает. А вот что такое позиция index я также непонимаю как и substr в пункте два. Что за индекс, откуда он берется, какова его роль?


все серо и пусто

Сообщение отредактировал Ferrumel - Среда, 22 Декабря 2010, 14:15
zik13Дата: Среда, 22 Декабря 2010, 14:13 | Сообщение # 55
Dark wolf
Сейчас нет на сайте
я раньше в яндексе смотрел что такое суб строка

и нашел что это дополнительная строка

Dva_KotaДата: Среда, 22 Декабря 2010, 14:37 | Сообщение # 56
заслуженный участник
Сейчас нет на сайте
1. попробуй написать так:
sl= string_format(2.3455, 4, 1);
По идее должно поулчиться 0002.3455 biggrin (я сам еще не проверял, но должно быть так)

2. здесь под понятием "суб строка" имеется ввиду часть строки.
string_pos(substr,str) в строке str ищет "сочетание символов" substr и показывает с какого символа (относительно начала строки str начинаются эти символы). Если такая суб строка не встречается - будет 0.

3. string_copy(str,index,count) - (в справке, вроде бы, опечатка) берется строка str и "вырезается" из нее часть строки начиная с символа index и длинной count


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 22 Декабря 2010, 14:37
FerrumelДата: Среда, 22 Декабря 2010, 15:50 | Сообщение # 57
почти ветеран
Сейчас нет на сайте
Dva_Kota,
по пункту один, пробовал уже по всякому, результат один, tod не учитывается.
Quote
2. здесь под понятием "суб строка" имеется ввиду часть строки.
string_pos(substr,str) в строке str ищет "сочетание символов" substr и показывает с какого символа (относительно начала строки str начинаются эти символы). Если такая суб строка не встречается - будет 0.

ВАУ какая полезная функция!!

так все таки индекс это под каким номером буква стоит? Сейчас проверим, походу оно наверное так и есть.

Dva_Kota, вообще, ваше терпение и доходчивость объяснений не знает границ, жалко рейтинг только раз в неделю поднять можно. Могу только раз за разом говорить спасибо))


все серо и пусто
Dva_KotaДата: Среда, 22 Декабря 2010, 15:57 | Сообщение # 58
заслуженный участник
Сейчас нет на сайте


Новый пример инвентаря! /20.06.2012/

Energy Wars
ФилДата: Среда, 22 Декабря 2010, 16:28 | Сообщение # 59
Томатный революционер
Сейчас нет на сайте
Ferrumel, Я за вас ему поставлю smile
Dva_KotaДата: Среда, 22 Декабря 2010, 18:05 | Сообщение # 60
заслуженный участник
Сейчас нет на сайте
При увеличении аргумента tot текст сдвигается вправо, при отрицательном значении - ничего не происходит. Мне теперь тоже интересно как пользоваться этой функцией (не для сдвига же нужен аргумент tot...)

Добавлено (22.12.2010, 18:05)
---------------------------------------------
Ну вот, ответ кажется, найден (спасибо dankl96):
http://forum.hellroom.ru/index.php/topic,2447.0.html


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Среда, 22 Декабря 2010, 18:05
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Художник пытается освоить GML (задаю вопросы по всем непоняткам)
Поиск:

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