Когда вы используете Obj_Player.blablabla
, GMS получит первый созданный экземпляр объекта. Вам нужна функция использования, которая вернет пример id
. Например, instance_place()
. Я не уверен, что именно вы делаете, поэтому код может быть непригодным для использования:
Пример с одним глобальным таймером для всех случаев:
var obj = instance_place(x, y, Obj_Player);
if obj != noone
{
with Obj_Player
{
time = 50;
}
}
with Obj_Player
{
if (time > 0) time--;
}
Следующая является Obj_Player
:
// Create
time = 0;
// Step
if time > 0
jsp = 17;
else
jsp = 12;
Пример с независимым местным таймером для каждого экземпляра:
var obj = instance_place(x, y, Obj_Player);
if obj != noone
obj.time = 50;
Следующая является Obj_Player
:
// Create
time = 0;
// Step
if time > 0
jsp = 17;
else
jsp = 12;
if (time > 0) time--;
UPD:
Просто уточнить, у меня есть один Obj_Player и несколько элементов, которые содержат код.
Я думаю, я понимаю, что вы пытаетесь сделать
Obj_Player, Создать:
time = 0;
Obj_Player, Collision событие (с вашего объекта):
time = 50;
Obj_Player, шаг случае:
time--;
if time > 0
jsp = 17;
else
jsp = 12;
Вот и все.
Как видите, весь код размещен по адресу Obj_Player
. Потому что, когда вы делаете
if time > 0
Obj_Player.jsp = 17;
else
Obj_Player.jsp = 12;
и у вас есть несколько экземпляров с этим кодом, jsp
будет 17
только тогда, когда все экземпляры будут есть time > 0
. Фактически, jsp
будет содержать результат проверки последнего экземпляра (поскольку последняя проверка в любом случае заменит любые предыдущие результаты).
Кроме того, элементы в создании события, я хотел бы перейти в код создания каждого отдельного элемента. Я только хочу отредактировать new
, так что мне нужно будет переместить весь код или просто new
?
Только new
. Сначала будет называться событие Create
(если мы говорим о GMS, а не о GM8), а затем Creation code
, поэтому с помощью Creation code
вы можете просто изменить все, что было в событии Create
.
Я попытался сделать то, что вы предложили, но теперь ни один из элементов не работает. Чтобы уточнить, у меня есть один Obj_Player и несколько элементов, которые содержат код. –
Я обновил ответ. BTW, если переменная 'new' имеет realtion для магических чисел в переменной' jsp', вы можете получить это значение в событии 'Collision', используя что-то вроде' new_value = other.new; 'и' if time> 0 jsp = new_value ; иначе ... ' – Dmi7ry