示例#1
0
    public void Retry() //リトライを押したとき
    {
        time       = 300;
        needle     = 300;
        Life_point = 2;
        GameObject.Find("Effect").GetComponent <RectTransform>().sizeDelta            = new Vector2(0, 0);
        GameObject.Find("Game_over").GetComponent <RectTransform>().localPosition     = new Vector3(0, height, 0);
        GameObject.Find("GameOver_text").GetComponent <RectTransform>().localPosition = new Vector3(0, height, 0);
        GameObject.Find("Retry").GetComponent <RectTransform>().localPosition         = new Vector3(0, height, 0);
        Change_Chara(true);
        for (int i = 0; i < 3; i++)
        {
            Chara[i].Pos = new Vector3(-width * 0.65f * (4 - i), height * 0.277f);
            Chara[i].Anime().SetBool("Out_Bool", false);
            Anime(i, Common.Action.Walk);
        }
        Back_anime.GetComponent <Image>().sprite  = Resources.Load <Sprite>("Images/Background/BG" + (int)Common.Thema.Sky);
        Front_anime.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/Background/Bg_front" + (int)Common.Thema.Sky);
        GameObject.Find("Background").GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/Background/Back" + (int)Common.Thema.Sky);
        main.To_Red(false);

        /*GameObject.Find("Player").GetComponent<Animator>().SetInteger("Chara_Int", Top_ID());
         * Skill_text.text = Chara[0].skill_Description;
         * skill_time = 20;*/
        timer_bool = true;
        bg_bool    = true;
        BGM_on(Common.BGM.tutorial); // ここでゲームオーバーBGM定義
        skill_Icon.GetComponent <RectTransform>().sizeDelta = new Vector2(0.055f * height, 0.055f * height);
        skill_Icon.GetComponent <Animator>().SetInteger("Chara_Int", Top_ID());
    }
示例#2
0
    // Use this for initialization
    void Start()
    {
        /*#region Find系
         * main = GameObject.Find("Director").GetComponent<Main>();
         * gage = GameObject.Find("Gage");
         * time_gage = GameObject.Find("Time_gage");
         * skill_Icon = GameObject.Find("Skill_Icon");
         * Flame = GameObject.Find("Flame");
         * Skill_Flame = GameObject.Find("Skill_Flame");
         #endregion*/
        width  = Screen.width;
        height = Screen.height;
        #region アニメの背景1
        Back_anime.GetComponent <Image>().sprite                = Resources.Load <Sprite>("Images/Background/Bg" + 0);
        Back_anime.GetComponent <RectTransform>().sizeDelta     = new Vector2(height * 2.8f, height * 0.28f);
        Back_anime.GetComponent <RectTransform>().localPosition = new Vector3(0, height * 0.292f);
        #endregion
        #region アニメの背景2
        Front_anime.GetComponent <Image>().sprite                = Resources.Load <Sprite>("Images/Background/Bg_front" + 0);
        Front_anime.GetComponent <RectTransform>().sizeDelta     = new Vector2(height * 2.79f, height * 0.37f);
        Front_anime.GetComponent <RectTransform>().localPosition = new Vector3(0, height * 0.2986f);
        #endregion
        #region キャラクターのアニメ
        GameObject dictionary = GameObject.Find("dictionary");
        for (int i = 0; i < 3; i++)
        {
            GameObject o     = GameObject.Find("Chara" + i);
            int        ID    = PlayerPrefs.GetInt("Party" + i, i + 2);
            int        Level = PlayerPrefs.GetInt("Level" + i, 0);
            Chara[i] = new Party(o, ID);
            dictionary.GetComponent <Dictionary>().Set_Box(Chara[i], ID, Level);
            Chara[i].Pos = new Vector3(-width * 0.8f * (i + 1), height * 0.277f);
        }
        //Destroy(dictionary);

        /*PlayerPrefs.SetInt("Party0", 3);
         * PlayerPrefs.SetInt("Party1", 1);
         * PlayerPrefs.SetInt("Party2", 2);
         * PlayerPrefs.SetInt("Coin", 234);
         * PlayerPrefs.SetInt("treasure0", 2);
         * PlayerPrefs.SetInt("treasure1", 1);
         * PlayerPrefs.SetInt("Time", 357);
         * PlayerPrefs.SetInt("Life", 2);
         * PlayerPrefs.SetInt("enemy", 5);  //ここを使うとResultリセット*/
        #endregion
        #region スキル
        Road_count      = 0;
        All_count       = 0;
        skill_time      = 20;
        Skill_text.text = Chara[0].skill_Description;
        skill_Icon.GetComponent <Animator>().SetInteger("Chara_Int", Top_ID());

        //skill_effect_anim = GameObject.Find("Skill_effect");
        #endregion
        pause_bool = false;
        timer_bool = false;
        bg_bool    = false;
        time       = Chara[0].HP + Chara[1].HP + Chara[2].HP;
        needle     = time;
        Max_Time   = time / 2f;
        Life_point = 2;
        //Battle_enemy = GameObject.Find("BattleEnemy");
        #region UIオブジェクトをheight,widthで整理します。(ずれないのなら)Mapのとこより下は消しても可 ★Dictionに移植
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                GameObject o = Instantiate(Resources.Load <GameObject>("Prefab/Small_map"));
                o.transform.parent = GameObject.Find("Map_base").transform;
                o.GetComponent <RectTransform>().localPosition = new Vector3(width, width);
                o.GetComponent <RectTransform>().sizeDelta     = new Vector2(0.066f * width, 0.066f * width);
                o.name = "Small_map" + i + "-" + j;
            }
        }
        #endregion


        Pause_Menu.sizeDelta     = new Vector2(0.9f * width, 0.95f * height);
        Pause_Menu.localPosition = new Vector3(0, height, -5);
        tresure[0] = 0;
        tresure[1] = 0;

        read_sounds();
        is_red = false;
    }
示例#3
0
    // Update is called once per frame
    void Update()
    {
        #region 背景の動画
        if (!pause_bool && bg_bool)
        {
            Back_anime.GetComponent <RectTransform>().Translate(new Vector3(-height * 0.001f, 0, 0));
            Front_anime.GetComponent <RectTransform>().Translate(new Vector3(-height * 0.001f, 0, 0));
            if (Back_anime.GetComponent <RectTransform>().localPosition.x < -0.7f * height)
            {
                Back_anime.GetComponent <RectTransform>().position  += new Vector3(1.4f * height, 0, 0);
                Front_anime.GetComponent <RectTransform>().position += new Vector3(1.4f * height, 0, 0);
            }
        }
        #endregion
        #region キャラクター移動
        for (int i = 0; i <= Life_point; i++)
        {
            Vector3 vec = Chara[i].Pos;
            if ((vec - new Vector3(-width * 0.2f * (i - 0.2f), height * 0.277f)).magnitude < 0.01f)
            {
                Chara[i].Pos = new Vector3(-width * 0.2f * (i - 0.2f), height * 0.277f);
            }
            else
            {
                Chara[i].Pos = (39f * vec + new Vector3(-width * 0.2f * (i - 0.2f), height * 0.277f)) / 40f;
            }
        }
        #endregion
        #region 時間表示
        if (!pause_bool && timer_bool)
        {
            if (is_Skill(5))
            {
                time += Time.deltaTime / 3f;
            }
            time -= Time.deltaTime;
            int m = Mathf.FloorToInt(time / 60f);
            int s = Mathf.FloorToInt(time % 60f);
            Degital_Time.text    = (m.ToString().PadLeft(2, '0') + " : " + s.ToString().PadLeft(2, '0'));
            Needle.localRotation = new Quaternion(0, 0, 1, 1 - needle / Max_Time);
            Flame.color         -= new Color(0, 0, 0, 0.01f);
        }
        if (time < 0) //GameOver
        {
            time = 0;
            main.Goal(1);
        }
        if (time < needle)
        {
            time_gage.GetComponent <RectTransform>().localRotation = new Quaternion(0, 0, 1, 1 - needle / Max_Time);
            time_gage.GetComponent <Image>().fillAmount            = (needle - time) / Max_Time / 4f;
            if (!pause_bool && timer_bool)
            {
                if (time_delta < 0)
                {
                    time_delta += Time.deltaTime;
                }
                else
                {
                    needle -= 0.7f;
                }
            }
        }
        else
        {
            time_gage.GetComponent <RectTransform>().localRotation = new Quaternion(0, 0, 1, 1 - time / Max_Time);
            time_gage.GetComponent <Image>().fillAmount            = (time - needle) / Max_Time / 4f;
            if (!pause_bool && timer_bool)
            {
                if (time_delta < 0)
                {
                    time_delta += Time.deltaTime;
                }
                else
                {
                    needle += 0.7f;
                }
            }
        }
        if (needle < 80 && !is_red)
        {
            Back_anime.GetComponent <Image>().sprite  = Resources.Load <Sprite>("Images/Background/BG_red" + (int)Common.Thema.Sky);
            Front_anime.GetComponent <Image>().sprite = Resources.Load <Sprite>("Images/Background/Bg_front_red" + (int)Common.Thema.Sky);
            Background.sprite = Resources.Load <Sprite>("Images/Background/Back_red" + (int)Common.Thema.Sky);
            is_red            = true;
            main.To_Red(true);
        }
        #endregion
        #region スキル
        Gage();
        if (skill_time < 20 && !pause_bool && timer_bool)
        {
            skill_time += Time.deltaTime;
        }
        else if (skill_time < 0)
        {
            skill_time += Time.deltaTime;
            if (skill_time < -0.2f)
            {
                var pos = _camera.ScreenToWorldPoint(new Vector3(Random.Range(0.12f, 0.88f) * width, Random.Range(0.13f, 0.6f) * height, 10));
                skillEffect.transform.position = pos;
                skillEffect.Emit(1);

                skill_effect_anim.GetComponent <Animator>().SetInteger("Skill_int", Top_ID()); // スキルエフェクト 追加
                max_bool = false;
                skill_icon_effect.GetComponent <Animator>().SetBool("Icon_effect", false);

                Debug.Log("Skill ok");
            }
            else
            {
                Anime(0, Common.Action.Walk);
                Anime(1, Common.Action.Walk);
                Anime(2, Common.Action.Walk);
                main.Pause_button_down(false);
                bg_bool    = true;
                timer_bool = true;

                skill_effect_anim.GetComponent <Animator>().SetInteger("Skill_int", 10); // スキルエフェクト 消去
            }
        }
        if (skill_time < Chara[0].Max_second)
        {
            var pos = _camera.ScreenToWorldPoint(new Vector3(Random.Range(0.12f, (1 - skill_time / Chara[0].Max_second) * 0.66f) * width, 0.04f * height, 10));
            skillEffect.transform.position = pos;
            skillEffect.Emit(1);

            /*float ran = Random.value;
             * pos = _camera.ScreenToWorldPoint(new Vector3(0, 0, 10)) + new Vector3(1.4f * Mathf.Cos(ran * 2 * Mathf.PI) + 1.7f, 1.4f * Mathf.Sin(ran * 2 * Mathf.PI) + 2f);
             * //pos = _camera.ScreenToWorldPoint(new Vector3(0,0,10)) + new Vector3(1.4f*skill_time * Mathf.Cos(skill_time*16) + 1.7f, 1.4f*skill_time * Mathf.Sin(skill_time*16) +2f);
             * skillEffect.transform.position = pos;
             * skillEffect.Emit(1);*/


            /* ここを消しても */
            Skill_Flame.GetComponent <Image>().color = new Color(1, 1, 1, (Chara[0].Max_second - skill_time) * 3f);
            Skill_Flame.GetComponent <RectTransform>().Translate(new Vector3(0, height / 180f, 0));
            if (Skill_Flame.GetComponent <RectTransform>().localPosition.y > height * 1.5f)
            {
                Skill_Flame.GetComponent <RectTransform>().localPosition = new Vector3(0, -height * 1.5f, 0);
            }
            /* Skill_Flame 止められません...。*/
        }
        else if (skill_time < Chara[0].Max_second + 0.1f)
        {
            if (Chara[0].skills[6] < 30)
            {
                main.Set_Speed(90f);
            }
        }
        //if (Chara[0].walk_count >= Chara[0].Max_gage)
        if (Road_count >= Chara[0].Max_gage)
        {
            if (!max_bool)
            {
                SE_on(Common.SE.Decision);  // 追加SE
                skill_icon_effect.GetComponent <Animator>().SetBool("Icon_effect", true);
                max_bool = true;
            }

            var pos = _camera.ScreenToWorldPoint(new Vector3(Random.Range(0.18f, 0.66f) * width, 0.04f * height, 10));
            skillEffect.transform.position = pos;
            skillEffect.Emit(1);
            if (skill_time >= 20 && !pause_bool && timer_bool)
            {
                skill_time += Time.deltaTime;
            }
            if (skill_time > 30)
            {
                skill_time -= 10;
            }
            skill_Icon.GetComponent <RectTransform>().sizeDelta = new Vector2((0.055f + 0.01f * Mathf.Sin(Mathf.PI * skill_time / 1f)) * height, (0.055f + 0.01f * Mathf.Sin(Mathf.PI * skill_time / 1f)) * height);
        }
        #endregion
        #region ポーズメニュー
        Vector3 v = Pause_Menu.localPosition;
        if (pause_bool && v.z < 0)
        {
            float x = v.z * 11f;
            x++;
            Pause_Menu.localPosition = new Vector3(0, x * (x + 20) * 0.0005f * height, x / 11f);
            if (Mathf.Abs(v.z) < 0.1f)
            {
                Pause_Menu.localPosition = Vector3.zero;
            }
        }
        else if (!pause_bool && v.z > -5)
        {
            float x = v.z * 11f;
            x--;
            Pause_Menu.localPosition = new Vector3(0, x * (x + 20) * 0.0005f * height, x / 11f);
            if (Mathf.Abs(v.z + 5) < 0.1f)
            {
                Pause_Menu.localPosition = new Vector3(0, height, -5.1f);
                main.Pause_button_down(false);
            }
        }
        #endregion
    }