public static Vector2 gravity;
Описание
Ускорение под действием силы тяжести.
Установите этот вектор, чтобы изменить всю 2D-гравитацию в вашей сцене. По умолчанию (0, -9,8).
//Прикрепите этот скрипт к двухмерному GameObject (например, к Sprite).
// Прикрепите компонент Rigidbody к GameObject (нажмите кнопку Добавить компонент и перейдите к < b>Физика 2D>Жесткое тело 2D)
//Этот скрипт позволяет изменить направление гравитации в вашей Сцене, нажав клавишу пробела в Режиме воспроизведения< /а>.
using UnityEngine;
public class Example : MonoBehaviour
{
enum GravityDirection { Down, Left, Up, Right };
GravityDirection m_GravityDirection;
void Start()
{
m_GravityDirection = GravityDirection.Down;
}
void FixedUpdate()
{
switch (m_GravityDirection)
{
case GravityDirection.Down:
//Change the gravity to be in a downward direction (default)
Physics2D.gravity = new Vector2(0, -9.8f);
//Press the space key to switch to the left direction
if (Input.GetKeyDown(KeyCode.Space))
{
m_GravityDirection = GravityDirection.Left;
Debug.Log("Left");
}
break;
case GravityDirection.Left:
//Change the gravity to go to the left
Physics2D.gravity = new Vector2(-9.8f, 0);
//Press the space key to change the direction of gravity
if (Input.GetKeyDown(KeyCode.Space))
{
m_GravityDirection = GravityDirection.Up;
Debug.Log("Up");
}
break;
case GravityDirection.Up:
//Change the gravity to be in a upward direction
Physics2D.gravity = new Vector2(0, 9.8f);
//Press the space key to change the direction
if (Input.GetKeyDown(KeyCode.Space))
{
m_GravityDirection = GravityDirection.Right;
Debug.Log("Right");
}
break;
case GravityDirection.Right:
//Change the gravity to go in the right direction
Physics2D.gravity = new Vector2(9.8f, 0);
//Press the space key to change the direction
if (Input.GetKeyDown(KeyCode.Space))
{
m_GravityDirection = GravityDirection.Down;
Debug.Log("Down");
}
break;
}
}
}