コード例 #1
0
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.P))
        {
            mode = TEKI_MOVE.douga;
        }
        if (titleFlg == true)
        {
            title.SetActive(true);

            GetComponent <TitleScript>().TittleScript();
            if (Input.GetKeyDown(KeyCode.UpArrow) || Input.GetKeyDown(KeyCode.Space))
            {
                titleFlg             = false;
                SRender.sprite       = Uhand;
                transform.localScale = new Vector3(2.5f, 2.5f, 1);
                mode = TEKI_MOVE.buck;
                player.SetActive(true);
                title.SetActive(false);
                slider.SetActive(true);
            }
        }
        else
        {
            switch (mode)
            {
            //上から下に攻撃
            case TEKI_MOVE.atunder:

                if (exflg == true)
                {
                    if ((waittime += Time.deltaTime) > 1)
                    {
                        exflg    = false;
                        waittime = 0;
                    }
                }
                else
                {
                    //攻撃中は触れるとプレイヤーにダメージ
                    if (attckFlg = EnemyAttckUnder())
                    {
                        if (gameObject.tag != "Danger")
                        {
                            gameObject.tag = "Danger";
                        }
                    }

                    //大体2秒後に上に戻る
                    else if ((waittime += Time.deltaTime) > 1)
                    {
                        EnemyModeChang(mode);
                    }

                    //攻撃が終わった後攻撃できるように
                    else if (gameObject.tag != "Safety")
                    {
                        gameObject.tag = "Safety";
                    }
                }
                break;

            //横から攻撃
            case TEKI_MOVE.atside:
                if (exflg == true && player.GetComponent <HPcontrol>().ShrimpDied == false)
                {
                    if ((waittime += Time.deltaTime) > 1)
                    {
                        exflg    = false;
                        waittime = 0;
                    }
                }
                else
                {
                    //攻撃中は触れるとプレイヤーにダメージ
                    if (attckFlg = EnemyAttckSide()) /*if (gameObject.tag != "GetHold") gameObject.tag = "GetHold";*/ } {
コード例 #2
0
ファイル: EnemyScript.cs プロジェクト: KoutaYonamine/PJS
    void Update()
    {
        switch (mode)
        {
        //上から攻撃
        case TEKI_MOVE.atunder: if (attckFlg = EnemyAttckUnder())
            {
                if (gameObject.tag != "Danger")
                {
                    gameObject.tag = "Danger";
                }
            }
            else if ((waittime += Time.deltaTime) > 2)
            {
                mode     = TEKI_MOVE.buck;
                waittime = 0;
            }
            else if (gameObject.tag != "Safety")
            {
                gameObject.tag = "Safety";
            }

            break;

        //横から攻撃
        case TEKI_MOVE.atside: if (attckFlg = EnemyAttckSide())
            {
                if (gameObject.tag != "Danger")
                {
                    gameObject.tag = "Danger";
                }
            }
            else if ((waittime += Time.deltaTime) > 3)
            {
                if (Random.Range(0, 7) == 0)
                {
                    mode = TEKI_MOVE.atside;
                    transform.position = new Vector3(sidestart, 0);
                }
                else if (Random.Range(0, 1) == 0)
                {
                    GetComponent <SpriteRenderer>().sprite = Sphand;
                    mode = TEKI_MOVE.special;
                    box  = Instantiate(sub);
                    //anim2 = box.GetComponent<Animator>();
                    transform.position = new Vector3(sidestart, 0, 0);
                }
                else
                {
                    GetComponent <SpriteRenderer>().sprite = Uhand;
                    mode = TEKI_MOVE.atunder;
                    transform.position = new Vector3(0, startpos);
                }

                waittime = 0;
            }
            else if (gameObject.tag != "Safety")
            {
                gameObject.tag = "Safety";
            }
            break;

        //戻って行く
        case TEKI_MOVE.buck: if (attckFlg = EnemyBuck())
            {
                ;
            }
            else if ((waittime += Time.deltaTime) > 2)
            {
                if (Random.Range(0, 7) == 0)
                {
                    GetComponent <SpriteRenderer>().sprite = Shand;
                    mode = TEKI_MOVE.atside;
                    transform.position = new Vector3(sidestart, 0);
                }
                else if (Random.Range(0, 1) == 0)
                {
                    GetComponent <SpriteRenderer>().sprite = Sphand;
                    mode = TEKI_MOVE.special;
                    box  = Instantiate(sub);
                    //anim2 = box.GetComponent<Animator>();
                    transform.position = new Vector3(sidestart, 0, 0);
                }
                else
                {
                    mode = TEKI_MOVE.atunder;
                }
                waittime = 0;
            }
            ;
            break;

        //this.gameObject,new Vector2(12, 0),new Quaternion(0, 180, 0, 0)
        //両手攻撃
        case TEKI_MOVE.special: if (!(puruFlg) && (attckFlg = EnemySpecial("Move")))
            {
                if (gameObject.tag != "Danger")
                {
                    gameObject.tag = "Danger";
                }
            }
            else if (count < 100 /*&& (waittime += Time.deltaTime) > 0.05f*/)
            {
                //if(!(anim.GetCurrentAnimatorStateInfo(0).normalizedTime < 1.0f))
                EnemySpecial("Puru");

                //waittime = 0;
                count += 100;
            }
            else if (!(anim.GetCurrentAnimatorStateInfo(0).normalizedTime < 1.5f) && (attckFlg = EnemySpecial("Atack")))
            {
                Debug.Log(transform.position);
                //anim.SetBool("start", false);
                //anim2.SetBool("start", false);
            }
            else if (!(puruFlg2) && (waittime += Time.deltaTime) > 2)
            {
                Destroy(box);
                count   = 0;
                puruFlg = false;
                GetComponent <SpriteRenderer>().sprite = Uhand;
                mode     = TEKI_MOVE.buck;
                waittime = 0;
            }
            else
            if (gameObject.tag != "Safety")
            {
                gameObject.tag = "Safety";
            }

            break;
        }
    }