У меня есть rigidBody
, она придает игре объект, как это:RigidBody gravityScale не работает
obj = GameObject.Find ("spider");
body = obj.AddComponent<Rigidbody2D>();
body.angularVelocity = 180f;
Так что движется под действием силы тяжести влияния вниз с экрана, но я хочу, чтобы остановиться на какой-то момент, поэтому я «ве сделал условие:
if (obj.transform.position.y < 0) {
Debug.Log("Stop point");
body.gravityScale = 0.0f;
}
я вижу в журналах сообщение„Stop Point“, который уведомляет меня, что сила тяжести должна быть остановлена, но ничего не происходит, и объект все еще идет вниз, что я делаю неправильно?
Да, это разрешило мою проблему: body.velocity = new Vector2 (0, 0); \t \t \t body.angularVelocity = 0f; спасибо, а также: я буду задавать некоторые вопросы о базовом единстве, поэтому вы можете помочь мне и получить легкую репутацию)) –
вы можете гарантировать, что не переместите mm, добавив последнюю строку кода с body.Sleep(); Я редактирую свой пост, добавляя это – joreldraw
angularVelocity - это float, а не Vector, и это 2D-объект, поэтому скорость Vector2, но я понял вас, спасибо –