Думаю запилить обучалку по крутым нововведениям GML 2.3+, так как кажется ими не все ещё прониклись (а некоторые вообще сидят на GMS1). Кому-то было бы интересно?
- 21 марта 2021, 22:47
- 012
Думаю запилить обучалку по крутым нововведениям GML 2.3+, так как кажется ими не все ещё прониклись (а некоторые вообще сидят на GMS1). Кому-то было бы интересно?
еслиб 2.3 был бы безплатен, то да, а так не особо... и да я еа гмс 1)
Триал-версия на 2.3 бесплатная, а вот есть ли у тебя игра, которая нуждается в 2.3 - вот главный вопрос.
я/мы GameMaker 8.1!
Ю-тян-семпай, наша благодарность не будет иметь пределов!![](https://im0-tub-ru.yandex.net/i?id=98c64a317538951f0ba663502c5ddba8&ref=rim&n=33&w=118&h=150)
Это, наверное, было бы интересно, если бы обучалки прямо с нуля.
Обучалку гамаку с нуля я точно не хочу делать, их и так полно. А вот 2.3 вышел относительно недавно, и по нему материалов ещё мало.
Будет интересно почитать, как раз осваиваю GMS 2.
Пытаюсь на нём создать универсальную среду разработки, чтобы потом было легче игры делать,
ибо пока-что много чего не хватает. Недавно добавил диалоговую систему и свою коллизию.
Лучше не надо. Как делатель подобного со стажем говорю. Куда эффективнее делать игру и системы, которые она требует прямо сейчас. Спустя N итераций подобного и наберётся база, которая может стать "универсальной".
GMS 2.3 почти не жизнеспособен без GMEdit, т.к. принудительное типизирование и, вследствие этого, адекватное автодополнение кода, возможно только в нем. В оригинальное IDE захожу только чтобы дебагер запустить или ресурсы добавить.
А так фичи 2.3 крутые, теперь можно не испытывать страдания в работе над сложными проектами.
В смысле принудительное типизирование?
Типа вот так. IDE GMS 2.3 такого не позволяет, поэтому нужно постоянно бегать по всем классам и смотреть кто что возвращает, какие методы есть у классов и т.д. Сложные цепочки вызовов только по памяти. Для серьезной работы необходимо страдать : (
А вот в GMEdit так можно. После указания типов, этот же код в IDE GMS 2.3 будет выглядеть вот так
![7i0fyfd](https://i.imgur.com/7i0fyfd.png)
Что мешает называть функции/переменные так, чтобы было понятно какого они типа?
Хм, вы на GMS 2.3 работали?
Методы, классы, методы и функции, возвращающие другие классы, у которых есть свои методы и переменные.
И IDE GMS не способна подсказать ничего из этого.
Так что названия ресурсов, переменных и функций тут совсем не при чем.
Что, автозаполнение не работает? А с чего это, вдруг, оно должно работать?
Вы же можете каждый раз значение разного типа вернуть. Вот если тип менять нельзя - тогда да.
Дожили, без автозаполнения уже не могут код писать. А для чего придумали заголовочные файлы и документацию? Никогда сроду автозаполнением не пользуюсь, использую Notepad++, мне это ваше автозаполнение только мешает, постоянно предлагает не то что надо или вообще когда не надо. Оно полезно только при изучении движка, когда ты еще ничего не знаешь.
Кажется, что спор зашёл в тупик. По всей видимости, у нас слишком различный опыт использования движка.
Но я убеждать все равно никого и не пытался ¯\_(ツ)_/¯
Можем, и без подсветки тоже можем. И на перфокартах можем. И без системы контроля версий можем. Но с ними удобнее.
Автозаполнение разное бывает. Одно дело когда оно тебе только предлагает варианты. И другое - когда само тебе их втюхивает или скоробчки ставит. Например, пишешь i и пробел, а редактор тебе какой-нибудь IProviderInterface вставляет в код. А я всего-лишь счетчик в цикле хотел.
Поэтому я пишу без автозаполнения. Почти всегда оно мне или предлагает, или втюхивает не то что я хочу написать. Так что я не понимаю почему с вам с автозаполнением удобнее. Я поставлю скобочки там, где мне надо, а не где редактор предпологает что они мне нужны и потом придется их удалять.
ну, мне проще удалить скобочки чем писать названия команд и скриптов и спрайтов и объектов целиком... =)
Так страдать или не страдать? Вот в чем вопрос.
Без GMEdit страдать. С ним не страдать.
?????
??????????
??? ?? ????? ???? ???????
Слишком громко сказано, прошу извинить. Наличие или отсутствие классов, разумеется, напрямую не связано с "серьезностью" работы. Как-то делали же игры на GM 7, в котором даже пользовательские переменные не подсказывались, не говоря уже о других проблемах с IDE и языком.
Просто мой текущий юзкейс заключается в большом количестве различных систем, взаимодействующих друг с другом. Для удобной организации этого необходимы как минимум структуры (до гмс 2.3 заменой структур для меня выступали массивы с enum в качестве полей). Классы же делают все это занятие гораздо более удобным и быстрым. Вместо скриптов в глобальном скопе с префиксами типа deep_social_get_caption, deep_social_choose_answer_type и т.д., теперь можно удобно все инкапсулировать в одном месте.
Всё так, только структуры, не классы. Проблема мне хорошо знакома, это первый подзаголовок раздела "Почему GML уродлив?" здесь.
Не открывается ссылка.
Де юре структуры, но де факто чем не классы? Есть конструктор, методы, наследование. Даром, что деструктор не завезли.
Не могу отредактировать, вот правильная ссылка:
https://gamin.me/posts/11790
Классами их называть можно, но если это делать, то во-первых мануал ничего не сможет ответить на эту тему неофиту, попытавшемуся заглянуть в него по ключевому слову class (мануал в ГМС2.3 вообще страх и ужас, CHM в ГМС1 был идеален; спасибо двум с половиной макоюзерам, ради которых сделали его в виде встроенного HTML-сервера, который ещё и медленней грузится); а во-вторых, от классов из-за такого названия будут ожидать фич, завезенных в %рандомный уже известный ранее человеку язык%, которых там скорее всего не будет (собственно, уже приведены деструкторы как пример).
Если углубиться в "де факто", можно назвать сей концепт ещё и типами, а вот надо ли.
Да, вот ещё в тему.
Попробовал GMEdit, благодарю за наводку. Пальцы давно ждали возможности работать в IDE без участия мышки, при помощи одной клавиатуры. GMS2 такими возможностями, к сожалению не обладает, на сегодняшний день. GMEdit показался интуитивным, по управлению. Возможности клавиатуры широкие, работать с этим - одно удовольствие. Втянулся методом тыка, однако понял не все. Буду очень признателен, если поможете с этим разобраться:
* Как пользоваться навигацией в левой панели (в менеджере ресурсов)?
* Как создавать и удалять ресурсы?
* Как назначать родительские объекты и где их можно увидеть?
* Как менять visible, solid и persistent объекта?
Надеюсь бету версию поставили? Она ушла довольно далеко по фичам от стабильной версии.
Скачал бету, если попадется баг, то репорт можно по русски составить. Это хорошо. Различий со стабильной версией не нашел.
3 и 4. Про parent_index, solid и т.д. понял, спасибо.
1. Навигация по дереву ресурсов имел ввиду с клавиатуры, без помощи мышки. Для меня, желательно, вообще мышку в руки не брать во время работы. Вопрос все еще открыт.
2. Стандартные кейбинды Alt+O (создает объект), Alt+S (создает спрайт) и др. в GMEdit не работают. (или я прожимаю их не в том контексте) Неужели придется мышку брать?
Жаль. Будем привыкать тогда.
Звучит как идеальный кейс для использования имакса. ^___^
Но можно ли его использовать в связке с гамаком?
мне