Не могу редактировать переменную объекта из отдельного скрипта

Я просто пытаюсь изменить переменную простого объекта из моего скрипта. Код выполняется, но ничего не делает для изменения переменной.

Редактирование этой переменной должно понизить планку здоровья противника, но это не так. Если я отредактирую эту переменную изнутри самого объекта, панель состояния изменится.

enemies();
friends();
randomize();

//get enemy from array and make an instance
active_enemy = enemy_list[irandom_range(0, 1)];

var inst1 = instance_create_depth(200, 75, 1, active_enemy); 

//get friend from arrayand make an instance
active_friend = friend_list[irandom_range(0, 1)];

var inst2 = instance_create_depth(96, 175, 1, active_friend); 

//change variable
inst1.e_health_active = 1;

Этот сценарий помещается в код создания комнаты сражения, а e_health_active - в каждом коде объекта противника как часть их статистики.

Спасибо!

0 ответов

Если вы сделаете здоровье врагов переменным глобальным, сделав это global.e_health_active = 1; в постоянном Game объект, который находится в начальной комнате, global.e_health_active теперь будет доступен в любом месте программы. Это больше не должно быть в том же объекте.

Сделайте что-то вроде этого:

// Persistent game object - where you would like to store all your global variables
// Create event 
   global.e_health_active = 10; // this can be any number you want it to be. 

Затем вы помещаете следующее в код создания комнаты сражений

// Creation code of battle room 
enemies();
friends();
randomize();

//get enemy from array and make an instance
active_enemy = enemy_list[irandom_range(0, 1)];

var inst1 = instance_create_depth(200, 75, 1, active_enemy); 

//get friend from arrayand make an instance
active_friend = friend_list[irandom_range(0, 1)];

var inst2 = instance_create_depth(96, 175, 1, active_friend); 

//change variable
inst1.global.e_health_active = 1;
Другие вопросы по тегам