Я использую Game Maker Studio 2 для создания игры в подземелье в качестве опыта программирования, и я пытаюсь сделать врага целью игрока. так как я не понимаю команды в программе, я использую Drag and Drop, чтобы сделать это. Я устанавливаю его скорость на 4, затем он проверяет, существует ли экземпляр (поскольку у меня есть несколько типов объектов игрока), затем устанавливает направление точки на этот объект игрока, но он просто начинает двигаться в верхний левый угол экрана. кто-нибудь знает, как я могу это исправить? Заранее спасибо!
прицеливание в направлении врага к игроку Game Maker Studio 2 DnD
Ответы (2)
Похоже, что значения X и Y необходимо обновить до экземпляра объекта целевого игрока. Я не уверен с dnd, но с gml вы можете получить к нему доступ из самого объекта. Например, если вам нужна координата «X» объекта игрока, вы можете получить ее, используя что-то вроде этого
objPlayer.x;
Возможно, вам придется использовать глобальную переменную, если это не сработает для вас (обязательно обновите ее в событии STEP!). Кроме того, следует отметить, что если у вас есть несколько объектов игрока (что, похоже, у вас есть), вам нужно будет знать идентификатор экземпляра для этого объекта игрока. Для этого вы можете использовать что-то вроде этого:
players[i] = instance_create(xx, yy, objPlayer);
Примечание: я также согласен со Стивеном. Я бы порекомендовал начать с этого как можно проще и усложнять его по мере того, как вы добиваетесь того, чтобы все работало так, как вы хотите. Это сохранит ваше здравомыслие в долгосрочной перспективе, поверьте мне. ;)
Проверить, существует ли какой-либо экземпляр из нескольких экземпляров, в Gamemaker Studio немного сложно, потому что нужно принять решение, какой из них ближе всего. Поскольку он не может принять это решение, кажется, что он следует точке по умолчанию (вверху слева).
Поэтому ему нужно проверить все экземпляры игрока и посмотреть, какой из них ближе всего, а затем выбрать этот экземпляр игрока для отслеживания. Это нужно делать в Step Event, потому что Step Event постоянно обновляется.
Я не знаком с Drag and Drop, поэтому не могу привести пример.
Сначала проверьте, работает ли следующая механика с одним экземпляром (игроком). Как только это сработает, вы можете попробовать с несколькими экземплярами.