Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Так, как и обещал. 

По багам:

- между камнем и ящиком возле дома в аду можно застрять

- деревья находятся на более низком слое, чем игрок, из-за этого он ходит по ним (вариант фикса ниже)

- с остальными объектами та же ерунда, но, т.к. они мелкие, то можно просто кинуть на них коллайдер, чтоб ГГ не мог зайти на их спрайт

- перемещаться по другому острову можно ещё до того, как пройдёт анимация перемещения (фиксится переносом времени телепортации на конец анимации) 

- спрайты травы "залезают" на спрайт портала

 Ну, тут что вспомнил. 

Теперь просто советы:

- "срезы" стен нужно сделать более тёмными, чтобы не сливались с полом

- вместо телепортации предмета на отдельную кнопку, лучше сделать автозамену на предмет, с которым взаимодействует игрок

- сделать, чтоб у всех спрайтов был одинаковый размер пикселей, а то смотрятся разношёрстно

- уменьшить время роста растений или найти игроку занятие на время, пока они растут

- убрать пробелы между клочками земли

- добавить больше анимаций (той же воде и лаве)

- поменять музыку (моя придирка, но мне кажется, что она тут не подходит)

- убирать стрелки-маркеры по мере выполнения заданий

Так, ну, вроде всё.


По поводу деревьев - мой вариант:

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) ; //возвращаем обратно

          }

}

(+1)

Спасибо за большой пост! О большинстве багов знаю и уже часть пофиксил. По поводу деревьев, там есть способ попроще без кода, так что всё ок)
Ещё раз спасибо