예제 #1
0
파일: CarCtrl.cs 프로젝트: arclee/find
    void UpdateSteeringWheel(float deltatime)
    {
        float l = 1;

        if (Input.GetKey(KeyCode.A))
        {
            rothandle   = rotateHandle.L;
            rotatepower = rot * forwardpower;
        }
        else if (Input.GetKey(KeyCode.D))
        {
            rothandle   = rotateHandle.R;
            rotatepower = rot * forwardpower;
        }

//		if (rothandle == rotateHandle.L)
//		{
//			l = -1;
//		}
//		else if (rothandle == rotateHandle.R)
//		{
//
//		}

        if (shift == shiftGear.R)
        {
            l *= -1;
        }

        rotatepower -= groundRotF * deltatime;
        rotatepower  = Mathf.Max(0, rotatepower);


        if (driveWhellType == DriveWhellType.FrontWheelDrive)
        {
            deltaRotation = Quaternion.Euler(frontWheel.transform.up * rotatepower * deltatime * SteeringWheel * l);
        }
        else
        {
            deltaRotation = Quaternion.Euler(rearWheel.transform.up * rotatepower * deltatime * SteeringWheel * l);
        }
    }
예제 #2
0
파일: CarCtrl.cs 프로젝트: arclee/find
    void UpdateSteeringWheelCtrl(float deltatime)
    {
        if (Input.GetKey(KeyCode.A))
        {
            rothandle      = rotateHandle.L;
            SteeringWheel -= keyboardAcceleratorAdd * deltatime;
            SteeringWheel  = Mathf.Max(-1, SteeringWheel);
        }
        else if (Input.GetKey(KeyCode.D))
        {
            rothandle      = rotateHandle.R;
            SteeringWheel += keyboardAcceleratorAdd * deltatime;
            SteeringWheel  = Mathf.Min(1, SteeringWheel);
        }

        if (Input.GetKeyUp(KeyCode.A))
        {
            SteeringWheel = 0;
        }
        else if (Input.GetKeyUp(KeyCode.D))
        {
            SteeringWheel = 0;
        }
    }