12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class CameraLogic : MonoBehaviour
- {/*
- private float X;
- private float Y;
- // Start is called before the first frame update
- void Start()
- {
-
- }
- // Update is called once per frame
- void Update()
- {
- if (Input.GetKey(KeyCode.W)) this.transform.Translate(0, 0, 0.1f, Space.Self);
- if (Input.GetKey(KeyCode.S)) this.transform.Translate(0, 0, -0.1f, Space.Self);
- if (Input.GetKey(KeyCode.A)) this.transform.Translate(-0.1f, 0, 0, Space.Self);
- if (Input.GetKey(KeyCode.D)) this.transform.Translate(0.1f, 0, 0, Space.Self);
- if (Input.GetKey(KeyCode.Space)) this.transform.Translate(0, 0.1f, 0, Space.World);
- if (Input.GetKey(KeyCode.LeftControl)) this.transform.Translate(0, -0.1f, 0, Space.World);
- if (Input.GetMouseButton(0))
- {
- X += Input.GetAxis("Mouse Y") * 3f;
- Y -= Input.GetAxis("Mouse X") * 3f;
- this.transform.localEulerAngles = new Vector3(X, Y, 0);
- }
- }
- */
- CharacterController playerController;
- Vector3 direction;
- public float speed = 10;
- public float jumpPower = 5;
- public float gravity = 7f;
- public float mousespeed = 5f;
- public float minmouseY = -45f;
- public float maxmouseY = 45f;
- float RotationY = 0f;
- float RotationX = 0f;
- public Transform agretctCamera;
- // Use this for initialization
- void Start()
- {
- playerController = this.GetComponent<CharacterController>();
- }
- // Update is called once per frame
- void Update()
- {
- float _horizontal = Input.GetAxis("Horizontal");
- float _vertical = Input.GetAxis("Vertical");
- if (playerController.isGrounded)
- {
- direction = new Vector3(_horizontal, 0, _vertical);
- if (Input.GetKeyDown(KeyCode.Space))
- direction.y = jumpPower;
- }
- direction.y -= gravity * Time.deltaTime;
- playerController.Move(playerController.transform.TransformDirection(direction * Time.deltaTime * speed));
- RotationX += agretctCamera.transform.localEulerAngles.y + Input.GetAxis("Mouse X") * mousespeed;
- RotationY -= Input.GetAxis("Mouse Y") * mousespeed;
- RotationY = Mathf.Clamp(RotationY, minmouseY, maxmouseY);
- this.transform.eulerAngles = new Vector3(0, RotationX, 0);
- agretctCamera.transform.eulerAngles = new Vector3(RotationY, RotationX, 0);
- }
- }
|