Не могу редактировать переменную объекта из отдельного скрипта - PullRequest
0 голосов
/ 11 сентября 2018

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

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

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 - в каждом коде obj врага как часть их статистики.

Спасибо!

1 Ответ

0 голосов
/ 05 декабря 2018

Если вы сделаете переменную здоровья врагов глобальной, сделав этот 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;
...