Я вообще думал примерно так: можно было бы сделать коллайдеры наоборот - чтоб игрок мог ходить только внутри них, а за их границу не мог бы выбраться. Но это... в общем, у меня не получилось ни придумать, ни реализовать.
Ну, кто может подсказать, как лучше сделать кучу 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);
}
И, если я буду идти одновременно в стену и вверх, то он, довольно часто, может просто взять - и застрять на месте, как будто в стену уткнется. Я отойду назад и снова вперед - то же самое. А если в том же месте идти сверху вниз - ничего не происходит. Это тоже надо бы решить, но потом, потом...