Коллайдеры для 2д игры
Добавлено: 11 дек 2016, 11:53
В общем, у меня есть наработка для игры с видом... сверху-сбоку?.. в общем, что-то вроде 2.5д, с двумерными спрайтами. Это все платформы, по которым можно ходить (проще всего вспомнить Undertale). Так вот, внимание вопрос: каким лучше всего образом сделать коллайдеры для всего этого, для всех этих платформ? Потому что, скорее всего, у меня будет туева хуча (в смысле, просто много) этих платформ на каждой сцене, и делать к КАЖДОЙ из них Box Collider 2D это, мне кажется, не самый лучший вариант.
Я вообще думал примерно так: можно было бы сделать коллайдеры наоборот - чтоб игрок мог ходить только внутри них, а за их границу не мог бы выбраться. Но это... в общем, у меня не получилось ни придумать, ни реализовать.
Ну, кто может подсказать, как лучше сделать кучу 2д коллайдеров?
P.S.: еще что-то странное происходит, я двигаю чувака при помощи этого:
И, если я буду идти одновременно в стену и вверх, то он, довольно часто, может просто взять - и застрять на месте, как будто в стену уткнется. Я отойду назад и снова вперед - то же самое. А если в том же месте идти сверху вниз - ничего не происходит. Это тоже надо бы решить, но потом, потом...
Я вообще думал примерно так: можно было бы сделать коллайдеры наоборот - чтоб игрок мог ходить только внутри них, а за их границу не мог бы выбраться. Но это... в общем, у меня не получилось ни придумать, ни реализовать.
Ну, кто может подсказать, как лучше сделать кучу 2д коллайдеров?
P.S.: еще что-то странное происходит, я двигаю чувака при помощи этого:
Синтаксис:
Используется csharp
void FixedUpdate ()
{
speed.x = Input.GetAxisRaw("Horizontal") * moveSpeed;
speed.y = Input.GetAxisRaw("Vertical") * moveSpeed;
GetComponent<Rigidbody2D>().AddForce(speed - GetComponent<Rigidbody2D>().velocity, (ForceMode2D) ForceMode.VelocityChange);
}
{
speed.x = Input.GetAxisRaw("Horizontal") * moveSpeed;
speed.y = Input.GetAxisRaw("Vertical") * moveSpeed;
GetComponent<Rigidbody2D>().AddForce(speed - GetComponent<Rigidbody2D>().velocity, (ForceMode2D) ForceMode.VelocityChange);
}
И, если я буду идти одновременно в стену и вверх, то он, довольно часто, может просто взять - и застрять на месте, как будто в стену уткнется. Я отойду назад и снова вперед - то же самое. А если в том же месте идти сверху вниз - ничего не происходит. Это тоже надо бы решить, но потом, потом...