Так, как и обещал.
По багам:
- между камнем и ящиком возле дома в аду можно застрять
- деревья находятся на более низком слое, чем игрок, из-за этого он ходит по ним (вариант фикса ниже)
- с остальными объектами та же ерунда, но, т.к. они мелкие, то можно просто кинуть на них коллайдер, чтоб ГГ не мог зайти на их спрайт
- перемещаться по другому острову можно ещё до того, как пройдёт анимация перемещения (фиксится переносом времени телепортации на конец анимации)
- спрайты травы "залезают" на спрайт портала
Ну, тут что вспомнил.
Теперь просто советы:
- "срезы" стен нужно сделать более тёмными, чтобы не сливались с полом
- вместо телепортации предмета на отдельную кнопку, лучше сделать автозамену на предмет, с которым взаимодействует игрок
- сделать, чтоб у всех спрайтов был одинаковый размер пикселей, а то смотрятся разношёрстно
- уменьшить время роста растений или найти игроку занятие на время, пока они растут
- убрать пробелы между клочками земли
- добавить больше анимаций (той же воде и лаве)
- поменять музыку (моя придирка, но мне кажется, что она тут не подходит)
- убирать стрелки-маркеры по мере выполнения заданий
Так, ну, вроде всё.
По поводу деревьев - мой вариант:
1. Перемещаем деревья и игрока на один слой, но игрока делаем ближе к камере (ось Z)
2. Вешаем на дерево коллайдер внизу, чтоб игрок "врезался" в ствол, а над ним помещаем ещё один коллайдер в режиме триггера, размером с остальную часть спрайта
3. Кидаем на дерево скрипт, в котором пишем методы обработчика триггера:
void OnTriggerEnter2D (Collider2D other)
{
if (other.tag == "Player") //на GameObject игрока вешаем тег Player в инспекторе
{
transform.position = new Vector3(transform.position.x, transform.position.y, other.transform.position.z - 1) ; //перемещаем дерево ближе к камере, чем игрок по Z
}
}
void OnTriggerExit2D (Collider2D other)
{
if (other.tag == "Player") //на GameObject игрока вешаем тег Player в инспекторе
{
transform.position = new Vector3(transform.position.x, transform.position.y, other.transform.position.z + 1) ; //возвращаем обратно
}
}