GML Move to point заставляет объект двигаться вправо - PullRequest
0 голосов
/ 13 февраля 2019

Таким образом, в основном в командной строке шага у меня есть этот код

if BugType = 1 {
if instance_exists(Obj_Food_Small){
move_towards_point(Obj_Food_Small.x, Obj_Food_Small.y, 3)
}
} else {
    move_towards_point(Obj_Ant_Home.x, Obj_Ant_Home.y, 3);
}

И я хочу, чтобы он проверил, есть ли объект пищи и есть ли движение к еде, которое превращает тип ошибки в 2и тогда муравей вернется в дом, за исключением того, что муравей, когда он создан, просто движется вправо, где нет никакой еды.Спасибо, если кто-нибудь может помочь.

1 Ответ

0 голосов
/ 20 мая 2019

У вас слишком много скобок.Я удалил скобку извлечения и отформатировал и изменил код.Вместо того, чтобы проверять, имеет ли BugType значение 1 или 2, я рекомендую просто присвоить ему 1 или 0, когда есть еда, а если нет.

ИЗ ДОКУМЕНТОВ:

Логическое значение - это просто значение, которое может быть истинным или ложным.Обратите внимание, что в настоящее время GameMaker: Studio не поддерживает «истинные» логические значения и фактически принимает любое действительное число ниже 0,5 в качестве ложного значения, а любое действительное число, равное (или большее) 0,5, в качестве истинного.

Таким образом, вы можете просто проверить, является ли BugType истинным (0,5 или более) или ложным (менее 0,5).

if (BugType){
    if instance_exists(Obj_Food_Small){
        BugType = 1;
        move_towards_point(Obj_Food_Small.x, Obj_Food_Small.y, 3)
    } else {
        BugType = 0;
        move_towards_point(Obj_Ant_Home.x, Obj_Ant_Home.y, 3);
}
...