Ejemplo n.º 1
0
    void Update()
    {
        //キーの押下判定
        //上矢印
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            MoveUp();
        }
        //下矢印
        else if (Input.GetKeyDown(KeyCode.DownArrow))
        {
            MoveDonw();
        }

        //右矢印
        if (Input.GetKeyDown(KeyCode.RightArrow))
        {
            MoveRight();
        }
        //左矢印
        else if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            MoveLeft();
        }

        Vector3 rot = this.transform.localEulerAngles;


        Debug.Log(m_Dir);
        //回転させる(+180.0fはモデルが反対向いてるからその調整)
        this.transform.localEulerAngles = new Vector3(0.0f, ((int)m_Dir * 45.0f) - 180.0f, 0.0f);

        //移動可能なら移動
        if (CheckMove())
        {
            Move();
            //体力を減らすテスト
            m_State.hp--;
        }

        //攻撃
        if (Input.GetKeyDown(KeyCode.Z))
        {
            Attack();
        }
        //レベルアップ
        if (Input.GetKeyDown(KeyCode.C))
        {
            m_SelectJob.JobLevelUp();
            m_State.maxHp += (int)m_SelectJob.ProfessionParam.HPExt;
            //体力の最大値と同じに
            m_State.hp += m_State.maxHp / 10;
            OutPutLog(m_SelectJob.ProfessionParam.Name + "のLevelが上がった!");
            GameObject.Find("levelup").GetComponent <levelup>().feedout();
        }

        //プレイヤーの仕事ではない?
        {
            //体力テキストの更新
            Hptext.GetComponent <UnityEngine.UI.Text>().text = m_State.hp.ToString() + '/' + m_State.maxHp.ToString();

            //体力の比率
            float Hpratio = (float)m_State.hp / (float)m_State.maxHp;
            if (Hpbar.transform.localScale.x > 0)
            {
                Hpbar.transform.localScale = new Vector3(Hpratio, Hpbar.transform.localScale.y, Hpbar.transform.localScale.z);
            }
            //0以下
            else
            {
                Hpbar.transform.localScale = new Vector3(0.0f, Hpbar.transform.localScale.y, Hpbar.transform.localScale.z);
            }
        }

        if (isDeath())
        {
            //ログ出力
            OutPutLog("あなたは死んでしまった!");
            //マップ上から消す
            m_CharaMap[this.PosX, this.PosZ] = null;
            //アクティブじゃなくなる
            this.gameObject.SetActive(false);
        }
        ;

        //向きの移動量を初期化
        DirX = DirZ = 0;
    }