コード例 #1
0
    public IEnumerator CameraZoomIN()
    {
        _next        = false;
        actionCamera = e_actionCamera.ZOOMIN;

        while (_next == false)
        {
            yield return(null);
        }
        yield return(new WaitForSeconds(0.15f));
    }
コード例 #2
0
    public IEnumerator CameraMoveTo()
    {
        yield return(new WaitForSeconds(0.35f));

        _next        = false;
        actionCamera = e_actionCamera.MOVETO;

        while (_next == false)
        {
            yield return(null);
        }
        yield return(new WaitForSeconds(0.15f));
    }
コード例 #3
0
    public IEnumerator EarthQUake()
    {
        shakeDuration  = 0.5f;
        shakeAmount    = 0.2f;
        decreaseFactor = 1;

        player.GetComponent <E_pManager>().SetMove(false);
        _originalPos = transform.position;
        _next        = false;
        actionCamera = e_actionCamera.EARTHQUAKE;

        while (_next)
        {
            yield return(null);
        }

        yield return(new WaitForSeconds(0.75f));

        player.GetComponent <E_pManager>().SetMove(true);
    }
コード例 #4
0
    void Update()
    {
        switch (actionCamera)
        {
        case e_actionCamera.DEFAULT:
            Vector3 targetDefault = new Vector3(player.transform.position.x + offsetDefault.x,
                                                player.transform.position.y + offsetDefault.y,
                                                player.transform.position.z + offsetDefault.z);

            transform.position = Vector3.MoveTowards(transform.position, targetDefault, speed * Time.deltaTime);
            break;

        case e_actionCamera.ZOOMIN:
            Vector3 targetZoomIn = new Vector3(player.transform.position.x + offsetEoomIn.x,
                                               player.transform.position.y + offsetEoomIn.y,
                                               player.transform.position.z + offsetEoomIn.z);

            transform.position = Vector3.MoveTowards(transform.position, targetZoomIn, speed / 5 * Time.deltaTime);

            if (transform.position == targetZoomIn)
            {
                _next = true;
            }
            break;

        case e_actionCamera.ZOOMOUT:
            Vector3 targetZoomOut = new Vector3(player.transform.position.x + offsetDefault.x,
                                                player.transform.position.y + offsetDefault.y,
                                                player.transform.position.z + offsetDefault.z);

            transform.position = Vector3.MoveTowards(transform.position, targetZoomOut, speed / 5 * Time.deltaTime);

            if (transform.position == targetZoomOut)
            {
                _next = true;
            }
            break;

        case e_actionCamera.MOVETO:
            Vector3 targetMoveTo = new Vector3(_target.x + offsetDefault.x,
                                               _target.y + offsetDefault.y,
                                               _target.z + offsetDefault.z);

            transform.position = Vector3.MoveTowards(transform.position, targetMoveTo, speed / 5 * Time.deltaTime);

            if (transform.position == targetMoveTo)
            {
                _next = true;
            }
            break;

        case e_actionCamera.EARTHQUAKE:
            if (shakeDuration > 0)
            {
                transform.position = new Vector3(player.transform.position.x + offsetDefault.x,
                                                 player.transform.position.y + offsetDefault.y,
                                                 player.transform.position.z + offsetDefault.z) + Random.insideUnitSphere * shakeAmount;
                transform.position = new Vector3(transform.position.x, player.transform.position.y + offsetDefault.y, transform.position.z);

                shakeDuration -= Time.deltaTime * decreaseFactor;
            }
            else
            {
                shakeDuration      = 0f;
                transform.position = new Vector3(player.transform.position.x + offsetDefault.x,
                                                 player.transform.position.y + offsetDefault.y,
                                                 player.transform.position.z + offsetDefault.z);
                actionCamera = e_actionCamera.DEFAULT;
                _next        = true;
            }

            break;
        }
    }
コード例 #5
0
 void Start()
 {
     actionCamera = e_actionCamera.DEFAULT;
     _next        = false;
 }