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()); }
// 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; }
// 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 }