Exemple #1
0
    void Update()
    {
        // If we aren't on a planet or don't have a character, bail.
        if (planet == null || character == null)
        {
            return;
        }

        playerOrbit.center = CalculateCenterOfGravity();
        float startingAngle = playerOrbit.GetAngleInDegrees();
        float nextAngle     = playerOrbit.GetAngleInDegrees() + speed * -Input.GetAxis("Horizontal");

        playerOrbit.SetAngleInDegrees(nextAngle);

        if (!OnScreen(playerOrbit.CalculatePosition()))
        {
            // reset the angle
            Debug.Log("NEW ANGLE OFF SCREEN");
            playerOrbit.SetAngleInDegrees(startingAngle);
        }

        // Set the new position
        transform.position = playerOrbit.CalculatePosition();
        transform.LookAt(playerOrbit.center);

        if (Input.GetButton("Jump"))
        {
            Firing();
        }
    }