예제 #1
0
    // Update is called once per frame
    void Update()
    {
        float x = Input.GetAxisRaw("Horizontal");   // 방향키 좌우
        float z = Input.GetAxisRaw("Vertical");     // 방향키 위아래

        move3D.MoveTo(new Vector3(x, 0, z));

        if (Input.GetKeyDown(jumpKeyCode))
        {
            move3D.JumpTo();
        }


        float mouseX = Input.GetAxis("Mouse X");    // 마우스 좌우 움직임
                                                    // 왼쪽으로 이동 -1, 오른쪽으로 이동 1
        float mouseY = Input.GetAxis("Mouse Y");    // 마우스 상하 움직임

        // 아래로 이동 -1, 위로 이동 1
        cameraController.RotateTo(mouseX, mouseY);
    }
예제 #2
0
    void Update()
    {
        // x,z 방향 이동
        float x = Input.GetAxisRaw("Horizontal"); // 방향키 좌,우 움직임
        float z = Input.GetAxisRaw("Vertical");   // 방향키 위,아래 움직임

        movement3D.MoveTo(new Vector3(x, 0, z));  // x,z의 좌표를 MoveTo 함수로 보내주기


        // 점프키를  눌러 y축 방향으로 뛰어 오르기 (Jump)
        if (Input.GetKeyDown(jumKeyCode))
        {
            movement3D.JumpTo();
        }


        //카메라컨트롤러 함수 사용
        //float mouseX = Input.GetAxis("Mouse X"); // 마우스 좌,우 움직임
        //float mouseY = Input.GetAxis("Mouse Y"); // 마우스 위,아래 움직임
        //cameraController.RotateTo(mouseX, mouseY);
    }
예제 #3
0
    // Update is called once per frame
    void Update()
    {
        float x = Input.GetAxisRaw("Horizontal");   // 방향키 좌/우 움직임
        float z = Input.GetAxisRaw("Vertical");     // 방향키 상/하 움직임

        movement3D.MoveTo(new Vector3(x, 0, z));

        // 점프키를 눌러 y축 방향으로 점프
        if (Input.GetKeyDown(jumpKeyCode) && characterController.isGrounded)
        {
            movement3D.JumpTo();
        }

        float mouseX = Input.GetAxis("Mouse X");    // 마우스 좌/우 움직임
        float mouseY = Input.GetAxis("Mouse Y");    // 마우스 상/하 움직임

        cameraController.RotateTo(mouseX, mouseY);

        // 능력 선택
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            ability = Ability.magnetism;
        }
        else if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            ability = Ability.gravity;
        }
        else if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            ability = Ability.acceleration;
        }
        else if (Input.GetKeyDown(KeyCode.Alpha4))
        {
            ability = Ability.invisible;
        }
        else if (Input.GetKeyDown(KeyCode.Alpha5))
        {
            ability = Ability.elasticity;
        }
        else if (Input.GetKeyDown(KeyCode.Alpha6))
        {
            ability = Ability.gunfire;
        }

        // 플레이어 바라보는 방향으로 레이발사. 이걸로 물체 제어할거임
        Ray ray = new Ray(transform.position, cameraController.transform.forward);

        Debug.DrawRay(ray.origin, ray.direction * 50, Color.red);

        // 물체 상호작용
        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit hitInfo; // ray와 충돌한 물체 정보
            Physics.Raycast(ray, out hitInfo);
            GameObject hitObject = hitInfo.transform.gameObject;
            Debug.Log(ability);


            //물체를 클릭했고 그것이 Cube라면
            if (hitInfo.collider != null && hitObject.CompareTag("Cube"))
            {
                switch (ability)
                {
                case Ability.magnetism:
                    break;

                case Ability.gravity:
                    hitObject.GetComponent <ActBoxController>().reverseGravity =
                        !hitObject.GetComponent <ActBoxController>().reverseGravity;
                    break;

                case Ability.acceleration:
                    break;

                case Ability.invisible:
                    hitObject.GetComponent <MeshRenderer>().enabled =
                        !hitObject.GetComponent <MeshRenderer>().enabled;
                    break;

                case Ability.elasticity:
                    break;

                default:
                    Debug.Log("player ability select error!");
                    break;
                }
            }
        }
    }