Game Maker: DoAdd: 2: неопределенное значение

Я столкнулся с этой ошибкой в ​​Game Maker и не знаю, как ее исправить. Ошибка


#

ФАТАЛЬНАЯ ОШИБКА в действии №1 шага Event0 для объекта obj_meatball:

DoAdd :2: неопределенное значение в gml_Script_enemy_wander (строка 4) - phy_position_x += sign(targetx - x)

############################################################################################

кадр стека: gml_Script_enemy_wander (строка 4), вызываемый из - gml_Object_obj_meatball_StepNormalEvent_1 (строка 3) - script_execute(state);

Мой код указан ниже:

///блуждание врага script_execute(checkplayer)

phy_position_x += знак(цельx - x) phy_position_y += знак(цель - y)

Любая помощь будет высоко ценится

Спасибо


person Morgan    schedule 22.01.2019    source источник


Ответы (1)


Ну, во-первых, у вас не может быть двух "+=" в одной инструкции, я почти уверен, что вы хотели написать:

phy_position_x += sign(targetx - x) phy_position_y + sign(targety - y)

Во-вторых, вы забыли добавить операцию между "sign(targetx - x)" и "phy_position_y"

И в-третьих, вы должны убедиться, что вы инициализировали targetx, прежде чем начать его использовать.

Можете ли вы дать нам больше информации о том, что вы хотите сделать и в каком событии вы написали код?

person YOUSFI Mohamed Walid    schedule 23.01.2019
comment
GMS позволяет использовать код типа phy_position_x += sign(targetx - x) phy_position_y + sign(targety - y), читайте его как phy_position_x += sign(targetx - x); phy_position_y + sign(targety - y). Думаю проблема в неинициализированных targetx и targety. - person Dmi7ry; 23.01.2019