Использовать ли global.* - Решение серьезных вопросов - Разработка игр на Game Maker (Advanced Mode) - Форум Game Maker. Разработка игр.
Здравствуй Гость | Перейти на сайт

Главная | Форум | Регистрация | Войти
YYG Competition #6 [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 41234»
Форум Game Maker. Разработка игр. » Разработка игр на Game Maker (Advanced Mode) » Решение серьезных вопросов » Использовать ли global.*
Использовать ли global.*
splean Дата: Понедельник, 20.04.2009, 00:43 | Сообщение # 1
Каждый 5й пост мой
Группа: Админы
Сообщений: 1434
Статус: Offline
subj


Блог?
Твиттер! =)
 
SRes Дата: Понедельник, 20.04.2009, 00:43 | Сообщение # 2
Каждый 5й пост мой
Группа: Страж
Сообщений: 2209
Статус: Offline
Ang3L, Почему? Чем тебе глобалы не подходят? О_о, а те кто пишут на других языках тож надо наказывать?
 
Ang3L Дата: Понедельник, 20.04.2009, 00:43 | Сообщение # 3
Каждый 5й пост мой
Группа: Админы
Сообщений: 1762
Статус: Offline
Quote (SRes)
Чем тебе глобалы не подходят? О_о, а те кто пишут на других языках тож надо наказывать?

Глобалы - дурной тон для программиста, как и команда goto(кроме фортрана и подобных). На любом языке. Тебя разве не учили?

P.S.: А глобалы на серьёзном языке для не маленькой программы, не только дурной тон, но ещё и геморрой на заднюю часть.

 
splean Дата: Понедельник, 20.04.2009, 00:43 | Сообщение # 4
Каждый 5й пост мой
Группа: Админы
Сообщений: 1434
Статус: Offline
часто в ГМ global.* проще чем main_controller.*


Блог?
Твиттер! =)
 
Ang3L Дата: Понедельник, 20.04.2009, 00:44 | Сообщение # 5
Каждый 5й пост мой
Группа: Админы
Сообщений: 1762
Статус: Offline
splean, да, но теряется иерархия программы. т.е. main_controller.counter и ne_main_controller.counter против global.counter и global.ne_counter .
В первом случае мы видим, что к чему, а в втором нет. Встроенные жизни(health) - глобал. Из-за этого у многих новичков путаница, то что у всех образцов уменьшается жизни. И это самый безобидный пример.
 
SRes Дата: Понедельник, 20.04.2009, 00:44 | Сообщение # 6
Каждый 5й пост мой
Группа: Страж
Сообщений: 2209
Статус: Offline
Ang3L, Кто меня мог учить ? Я впервые уселся за ГМ нуб нубом и не знающим что такое переменная всмысле кодинга biggrin , а потом по чуть чуть допер, я самоучка, неболее. Я ни одного тутора не прочитал пока не сделал две-три игры, а потом чуть чуть пытался читать, но толку было ноль, окончилось тем, что сам как-то по чуть-чуть допер.
 
Ang3L Дата: Понедельник, 20.04.2009, 00:44 | Сообщение # 7
Каждый 5й пост мой
Группа: Админы
Сообщений: 1762
Статус: Offline
Quote (SRes)
Кто меня мог учить ? Я впервые уселся за ГМ нуб нубом и не знающим что такое переменная всмысле кодинга , а потом по чуть чуть допер, я самоучка, неболее. Я ни одного тутора не прочитал пока не сделал две-три игры, а потом чуть чуть пытался читать, но толку было ноль, окончилось тем, что сам как-то по чуть-чуть допер.

Я тоже 95% сам допёр, теперь тебе рассказываю. Хошь верь, а хошь не верь (это про глобалы).
 
splean Дата: Понедельник, 20.04.2009, 00:44 | Сообщение # 8
Каждый 5й пост мой
Группа: Админы
Сообщений: 1434
Статус: Offline
вот именно, я как раз к тому, что переменные main_controller-а можно заменить глобальными. Т.е. прежде всех объектов - main_controller, прежде всех переменных - global-ы. В общем то, для удобочитаемости слова привычнее чем global (тем более что оно подсвечивается в редакторе) я не вижу.


Блог?
Твиттер! =)
 
WfalconW Дата: Понедельник, 20.04.2009, 00:44 | Сообщение # 9
Каждый 5й пост мой
Группа: Страж
Сообщений: 1536
Статус: Offline
Quote
main_controller

Э тообъект с пресистом? Ну, что бы он во всех комнатах был. или я туплю? У меня глобалов в игре, вроде, нету. Именно в моём проекте удаётся обходиться без них.


Lie To me (Теория лжи)

Работаю над проектом в большей степени в выходные)

 
Ang3L Дата: Понедельник, 20.04.2009, 00:45 | Сообщение # 10
Каждый 5й пост мой
Группа: Админы
Сообщений: 1762
Статус: Offline
Ну что я могу сказать... У меня абсолютно все проги на ГМ без глобалов. Всё работает. Писать или не писать через глобалы пусть решает программист.
 
splean Дата: Понедельник, 20.04.2009, 00:45 | Сообщение # 11
Каждый 5й пост мой
Группа: Админы
Сообщений: 1434
Статус: Offline
Как что сказать - факты и аргументы) я совсем не против склониться на твою сторону в этом вопросе, осталось убедить меня. Что я получу, отказавашись от global-ов?

Т.е. имея даже объект-контроллер, отвечающий за загрузку графики\уровней расстановку объектов и прочее, я все равно в нем указываю переменные через global. Что в этом, скажем так, плохого?



Блог?
Твиттер! =)
 
DragonSkiN Дата: Понедельник, 20.04.2009, 00:54 | Сообщение # 12
Всех уже задолбал
Группа: Проверенные
Сообщений: 939
Статус: Offline
как по мне, так я считаю что глобалы удобны.
и обьект - контроллер это тоже удобно.
лично я юзаю и то и другое по мере необходимости, путаницы пока из за глобалов не было...

зато есть абсолютное непонимание списков и массивов,
хотя все твердят что это очень просто sad



http://gamegraphycs.do.am/ - сайт о 2D графике
http://gm-example.moy.su/ - открытое хранилище примеров
(большая просьба: дублируйте здесь свои примеры, здесь их будет удобнее искать, чем на форуме)
 
SRes Дата: Понедельник, 20.04.2009, 01:25 | Сообщение # 13
Каждый 5й пост мой
Группа: Страж
Сообщений: 2209
Статус: Offline
Список - это и есть список. Т.е.
* Молоко
* Сахар
* Хлеб
Вот тебе элементарный список, а массив - это что-то вроде таблицы, т.е.
|A|
|1| |2 | |3| |4| |5| |6| |7| |8| |9|
|2| |34| |9| |2| |3| |1| |2| |3| |4|
Т.е. первый элемент массива = 2, второй = 34, и т.д.
 
Ninja Дата: Понедельник, 20.04.2009, 01:26 | Сообщение # 14
Хоть палкой гони
Группа: Проверенные
Сообщений: 678
Статус: Offline
провел тест, 1000 объектов, в степе присваивается значение переменной, если присваивать переменную, принадлежащую объекту, имеем maxfps=373, если присваивать глобальную переменную, maxfps=384, вывод: к глобальным переменным обращение идет несколько быстрее, нежели к переменным объектов, хотя выигрыш в скорости очень небольшой, так что каждый юзает то, что ему больше нравится


Oh, my God! You kill Kenny! You bastard!
 
SRes Дата: Понедельник, 20.04.2009, 01:29 | Сообщение # 15
Каждый 5й пост мой
Группа: Страж
Сообщений: 2209
Статус: Offline
Гуд, не зря юзаю глобалы.
 
Ninja Дата: Понедельник, 20.04.2009, 01:30 | Сообщение # 16
Хоть палкой гони
Группа: Проверенные
Сообщений: 678
Статус: Offline
DragonSkiN, для того чтобы разобраться в массивах, рекомендую решить несколько простейших задач на эту тему, тогда сразу придет понимание, что это такое и зачем они нужны


Oh, my God! You kill Kenny! You bastard!
 
splean Дата: Понедельник, 20.04.2009, 01:34 | Сообщение # 17
Каждый 5й пост мой
Группа: Админы
Сообщений: 1434
Статус: Offline
еще слово о массивах - зарежу

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



Блог?
Твиттер! =)
 
DragonSkiN Дата: Понедельник, 20.04.2009, 01:39 | Сообщение # 18
Всех уже задолбал
Группа: Проверенные
Сообщений: 939
Статус: Offline
Ninja, насчет твоего теста, а как пройдет тест с обьектом - контроллером и обращениями к нему всей кучи обьектов?


http://gamegraphycs.do.am/ - сайт о 2D графике
http://gm-example.moy.su/ - открытое хранилище примеров
(большая просьба: дублируйте здесь свои примеры, здесь их будет удобнее искать, чем на форуме)
 
Ninja Дата: Понедельник, 20.04.2009, 01:59 | Сообщение # 19
Хоть палкой гони
Группа: Проверенные
Сообщений: 678
Статус: Offline
я именно так и делал


Oh, my God! You kill Kenny! You bastard!
 
WertyXBOCT Дата: Понедельник, 20.04.2009, 11:17 | Сообщение # 20
Каждый 5й пост мой
Группа: Высший Советник
Сообщений: 1797
Статус: Offline
Quote (Ang3L)
Глобалы - дурной тон для программиста, как и команда goto(кроме фортрана и подобных). На любом языке.

Чувак, не путай GM и другие языки. GM скриптовый язык это раз. Во вторых, у GM нет таких разнобразных переменных как у C++. Потому что в C++ можно объявить Private глобальную переменную для всех классов и наследников, а в GM, даже если и можно так сделать, это будет неудобно. ТАк что global и globalvar использовать. Также как и использовать GM7. Я лично не вижу разницы между 6 и 7, кроме того, что 6й глючней.

Quote (Ang3L)
P.S.: А глобалы на серьёзном языке для не маленькой программы, не только дурной тон, но ещё и геморрой на заднюю часть.

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

Кстати, по поводу передачи переменных в другую комнату, если использовать локальные переменные, придется создавать объект например controller и делать его presistent. Переменные будут теперь controller.value, вот чем оно отличается от global.value? имхо только гемором с объектом.



Blog:www.WeslomPo.ru
mailto: i@weslompo.ru
 
Форум Game Maker. Разработка игр. » Разработка игр на Game Maker (Advanced Mode) » Решение серьезных вопросов » Использовать ли global.*
Страница 1 из 41234»
Поиск:



Сообщество Gmaker.SU 2005-2010
Используются технологии uCoz
Простой вход