Можно добавить игроку событие столкновения, которое проверяет другой объект и отключает твердое тело, если это враг.
Например, в коде события столкновения игрока:
this.collision(other) {
if(other.isA("Enemy")) {
this.solid = false;
} else {
this.solid = true;
}
}
Это проверяет тип другого объекта при столкновении. Если это враг, он устанавливает для свойства твердости игрока значение false, чтобы он прошел. Для любого другого объекта, например стен, твердость остается верной, поэтому игрок остается твердым по отношению к стенам.
Вы также можете добавить аналогичную проверку в событие столкновения с врагом, чтобы не застревать на игроке:
this.collision(other) {
if(other.isA("Player")) {
this.solid = false;
}
}
Если что не надо меня гнобить констракт 3 написан на JavaScript