Пример #1
0
    void GameStart()
    {
        hero.GameStart();
        ptPlayer.GameStart();
        isPlay = true;

        cam.isForceCam = true;
        cam.SetOriginFollowSpeed();
        uiObj.SetActive(true);

        startSeAudio.Play();
    }
Пример #2
0
    //로프 점핑 루틴
    IEnumerator RopeJumpingRoutine(float _power)
    {
        preSpdLv = speedLevel;
        SpeedUp();

        float _dis = 0f;

        float _startPos = this.transform.position.x;

        if (preSpdLv == 0)
        {
            _dis = 10f;
        }
        else if (preSpdLv == 1)
        {
            _dis = 16f;
        }
        else if (preSpdLv == 2)
        {
            _dis = 21f;
        }


        float _xTarget = 0f;
        float _yTarget = this.transform.position.y + 1f;

        if (isLeft)
        {
            _xTarget = this.transform.position.x - _dis;// - new Vector2(_dis, 0);
        }
        else
        {
            _xTarget = this.transform.position.x + _dis;
        }

        ropeTarget = new Vector2(_xTarget, _yTarget);


        bool yFinish = false;

        hState = HeroState.RopeFlying;
        this.gameObject.GetComponent <Rigidbody2D>().gravityScale = 0;
        this.transform.localEulerAngles = new Vector3(0, 0, 0);
        movable = false;

        cam.SetOriginZoomSizeSpeed();
        cam.SetFollowSpeed(8f);//cam.followSpeed = 8f;

        while (Mathf.Abs(this.transform.position.x - _startPos) < _dis)
        {
            if (hState != HeroState.RopeFlying && hState != HeroState.RopeAttack)
            {
                break;
            }

            float _totalSpeed = (_dis - Mathf.Abs(this.transform.position.x - _startPos)) * Time.deltaTime * 3f;



            if (_totalSpeed > 1.0f)
            {
                _totalSpeed = 0.7f;
            }
            this.transform.position = Vector2.MoveTowards(this.transform.position, new Vector2(_xTarget, this.transform.position.y), _totalSpeed);

            //Debug.Log(this.transform.position.x);
            if (yFinish)
            {
                this.gameObject.GetComponent <Rigidbody2D>().gravityScale = 5;
            }
            else
            {
                this.transform.position
                    = Vector2.MoveTowards(this.transform.position, new Vector2(this.transform.position.x, _yTarget), (((_yTarget - this.transform.position.y)) * 10f) * Time.deltaTime);
            }


            if (!yFinish && _yTarget - this.transform.position.y <= 0.01f)
            {
                yFinish = true;
            }


            yield return(null);
        }

        SetRopeCam(false);
        cam.SetOriginFollowSpeed();//cam.followSpeed = cam.originFollowSpeed;

        movable = true;
        this.gameObject.GetComponent <Rigidbody2D>().gravityScale = 8;
    }