Вопрос касательно объектов
| |
OmKol | Дата: Пятница, 02 Июля 2010, 19:05 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| 1. Имеется объект. Вот возьмём переменные x и y. Для каждого экземпляра (или копии или как они называются в Game Maker) объекта, помещаемого на карте, эти переменные разные - сами экземпляры находятся в разных же местах. А переменные, которые я создаю, присваиваются объекту в целом - то есть для каждого экземпляра значение переменной одинаково. Собственно как создать переменные, значения которых для разных экземпляров объекта будут разные, если это возможно? Мой косяк - позор мне. Они и вправду локальны - это моя ошибка в коде, не самая очевидная. 2. Как узнать номер экземпляра объекта?
Сообщение отредактировал OmKol - Понедельник, 12 Июля 2010, 22:07 |
|
| |
FedenkoVadik | Дата: Пятница, 02 Июля 2010, 21:40 | Сообщение # 2 |
Level 5 Gentleman
Сейчас нет на сайте
| id
|
|
| |
OmKol | Дата: Пятница, 02 Июля 2010, 22:09 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Хм, спасибо. Я почему-то сначала подумал, что id - это номер самого объекта.
|
|
| |
FedenkoVadik | Дата: Суббота, 03 Июля 2010, 02:25 | Сообщение # 4 |
Level 5 Gentleman
Сейчас нет на сайте
| Quote (OmKol) номер самого объекта. Quote (OmKol) номер экземпляра объекта есть разница? Хотя, он все равно не вернется...
|
|
| |
OmKol | Дата: Суббота, 03 Июля 2010, 13:15 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| Quote (FedenkoVadik) есть разница? Хотя, он все равно не вернется... Ну а как же - одних и тех же объектов может быть на карте помещено несколько (эти копии я и предпочитаю называть экземплярами, поправьте меня, если я использую неверный термин). Соответственно для каждого экземпляра объекта исполняется код. И иногда бывает удобно работать с id этого экземпляра объекта. Я правда ещё не пробовал - успел найти другую реализацию нужного мне алгоритма.
|
|
| |
FedenkoVadik | Дата: Суббота, 03 Июля 2010, 13:39 | Сообщение # 6 |
Level 5 Gentleman
Сейчас нет на сайте
| ах вот ты о чем. А вчера ночью не догадался. Кстати если поможет: Если нужно узнать ид созданного объекта достаточно.... Code id_o=instance_create(x,y,obj) with (id_o) { ololololo }
Сообщение отредактировал FedenkoVadik - Суббота, 03 Июля 2010, 20:44 |
|
| |
Qnizza | Дата: Суббота, 03 Июля 2010, 18:42 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| не точку а равно надо ставить после id_o
|
|
| |
FedenkoVadik | Дата: Суббота, 03 Июля 2010, 20:48 | Сообщение # 8 |
Level 5 Gentleman
Сейчас нет на сайте
| ВСЕ ВРЕМЯ ЗАБЫВАЮ...
|
|
| |
OmKol | Дата: Понедельник, 12 Июля 2010, 22:06 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| И снова объекты. Вопрос: Имеется игра, в которой имеются комната "Главное меню" и много комнат, где происходит игровой процесс. При входе в первую такую комнату инициализируется помещенный на карту объект, помеченный как постоянный и соответственно работающий в других комнатах. При возврате в главное меню надо убить этот объект, но при этом чтобы при заходе снова в комнату игрового процесса этот объект заново инициализировался. Можно его не убивать, но тогда будут не работать пункты меню в главном меню. Вопрос: Как убить, заморозить или что-нибудь ещё сделать с постоянным объектом, чтобы он не мешал? Или я может что-то не так делаю? Вопрос закрыт и ответ этому вопросу instance_destroy() Добавлено (12.07.2010, 22:06) --------------------------------------------- И снова вопрос по так называемым экземплярам объекта - instances. Я вот думаю, как узнать, какой экземпляр выполняется первым, а какой - последним. Это важно для совершения одной проверки, перед которой необходимо обнулить переменные. Или возможно ли как-то схитрить и в самом коде создать экземпляр, выполняющийся первым? Вообще любым способом написать код, который гарантированно будет запускаться перед началом работы такого-то объекта. Ах да, event Draw. Или использовать другой event? Хмм, да тут вообще проблема необычного характера - похоже на то, что переменная обнуляется сама по себе. Либо инициализируется всё время event Create, хотя так не должно быть. Ничего не понимаю. Теперь понял - один объект обращается с целью получить значение другой переменной, но... 0, 1, 24... переменные разные... у меня не укладывается это в голове. А поставлю вопрос по другому - как определить, что объект встретился хотя бы с одним из множества экземпляров другого объекта? Хм... заработал обычный place_meeting. А почему он раньше работал только с одним instance? Чудеса, глюки... Вопрос закрыт.
Сообщение отредактировал OmKol - Понедельник, 12 Июля 2010, 22:44 |
|
| |
FedenkoVadik | Дата: Вторник, 13 Июля 2010, 00:49 | Сообщение # 10 |
Level 5 Gentleman
Сейчас нет на сайте
| бло(( зачеркни это все! А то я читал как лошара, а Quote (OmKol) Вопрос закрыт.
|
|
| |
OmKol | Дата: Пятница, 16 Июля 2010, 19:53 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Нет, это ещё не конец. Итак, выполняется код одного объекта. Затем выполняется код другого объекта. И мне нужно, чтобы после всех этих объектов выполнялся ещё некоторый код. Как это реализовывается? Вопрос всё ещё актуален, хотя костыль в обход этого я уже реализовал.
Сообщение отредактировал OmKol - Пятница, 16 Июля 2010, 20:01 |
|
| |
GLaDOS | Дата: Пятница, 16 Июля 2010, 20:21 | Сообщение # 12 |
частый гость
Сейчас нет на сайте
| OmKol, Ну можно попробовать переменными сделать
|
|
| |
OmKol | Дата: Пятница, 16 Июля 2010, 21:41 | Сообщение # 13 |
был не раз
Сейчас нет на сайте
| Quote (GLaDOS) OmKol, Ну можно попробовать переменными сделать Переменными сделать что? Я вообще не понимаю, в каком порядке выполняются объекты. Как мне кажется, параметр "Глубина" ни на что не влияет в плане порядка выполнения кода объектов. Добавлено (16.07.2010, 21:16) --------------------------------------------- Ладно, а вот теперь у меня такая задачка - получить x и y от всех instances объекта. Можно вручную взять номер каждого instance, но это слишком муторно - думаю, есть легче способ. Добавлено (16.07.2010, 21:41) --------------------------------------------- Или, например, несколько масок для объекта. В момент такого-то столкновения использовать такую-то маску, иначе другую.
Сообщение отредактировал OmKol - Пятница, 16 Июля 2010, 21:17 |
|
| |
FedenkoVadik | Дата: Пятница, 16 Июля 2010, 23:05 | Сообщение # 14 |
Level 5 Gentleman
Сейчас нет на сайте
| Quote (OmKol) нужно, чтобы после всех этих объектов выполнялся ещё некоторый код. Как это реализовывается? Короче есть событие End Step юзай его, то что ті там напишишь, будет віполяццо в конце. Quote (OmKol) В момент такого-то столкновения использовать такую-то маску, иначе другую. Не помню точно название функций, помоему есть object_set_mask ну или чет в этом роде...
|
|
| |
OmKol | Дата: Пятница, 16 Июля 2010, 23:52 | Сообщение # 15 |
был не раз
Сейчас нет на сайте
| Quote (FedenkoVadik) Короче есть событие End Step юзай его, то что ті там напишишь, будет віполяццо в конце. Как много раз оно мне было нужно, но я уже решил всё по-другому. Потом пригодится. Quote (FedenkoVadik) Не помню точно название функций, помоему есть object_set_mask ну или чет в этом роде... Ага, только я в мануале мало что понял по этому поводу, ну да ладно - мне же лучше, что не принялся писать извращенский код.
|
|
| |
pla-x | Дата: Пятница, 16 Июля 2010, 23:58 | Сообщение # 16 |
был не раз
Сейчас нет на сайте
| OmKol, пиши нормальные коды и все будет хорошо)
Per aspera ad astra...
|
|
| |
Giper-Raper | Дата: Суббота, 17 Июля 2010, 11:09 | Сообщение # 17 |
частый гость
Сейчас нет на сайте
| Ага. Токо рок не слушай))
|
|
| |
|