/*-----------------*/ /*--関数名:Start--*/ /*--概要:初期化---*/ /*--引数:なし-----*/ /*--戻り値:なし---*/ /*-----------------*/ void Start() { //オブジェクトを探す go_logo = GameObject.Find("LogoTex"); //コンポーネントを探す sc_screen_fade = GameObject.Find("ScreenFade").GetComponent <FadeController>(); sc_decoration_generator = GameObject.Find("BackGroundDecorationGenerator").GetComponent <BackGroundDecorationGenerator>(); //初期化 start_time = Time.time; //フェードに必要な値を渡す go_logo.GetComponent <FadeController>().start_fade_value = 1.0f / (next_scene_second_time * /*Application.targetFrameRate*/ 60 * logo_fade_out_time_rate); sc_screen_fade.GetComponent <FadeController>().start_fade_value = 1.0f / (next_scene_second_time * /*Application.targetFrameRate*/ 60 * screen_fade_out_time_rate); //Canvasの設定を変える(泡の飾りをUIより前に表示するために) SharedData.instance.SetCanvasOption(GameObject.Find("Canvas").GetComponent <Canvas>()); //Cameraの映る範囲をもらう camera_range = SharedData.instance.GetCameraRange(GameObject.Find("Main Camera").GetComponent <Camera>()); //一番最初はプレイしていたステージ番号を0にする SharedData.instance.play_stage_number = 0; }
/*--終わり:GetCameraRange--*/ /*------------------------------------------------------------------------------------------*/ /*--関数名:CreatePreviousSceneDecoration(public)-------------------------------------------*/ /*--概要:保存してある飾りのリストの内容と同じ飾りを作る------------------------------------*/ /*--引数:シーンの飾りジェネレーター(BackGroundDecorationGenerator)、カメラの位置(Vector2)--*/ /*--戻り値:なし----------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------------------*/ public void CreatePreviousSceneDecoration(BackGroundDecorationGenerator generator, Vector2 camera_position) { //背景と前景の2回 for (int i = 0; i < 2; i++) { List <BackGroundDecorationController> decorations; //泡の飾りのリストをもらう switch (i) { case 0: decorations = back_decoration_list; Debug.Log("飾りの数=" + decorations.Count); break; case 1: decorations = front_decoration_list; Debug.Log("飾りの数=" + decorations.Count); break; default: decorations = new List <BackGroundDecorationController>(); break; } //泡の飾りが一つでもあったら if (decorations.Count > 0) { //リストの大きさ分繰り返す for (int j = 0; j < decorations.Count; j++) { //記憶している情報からオブジェクトを生成してもらう generator.CreateDecoration(decorations[j].GetPosition() + new Vector3(camera_position.x, camera_position.y, 0.0f), decorations[j].GetScale(), decorations[j].GetColor(), decorations[j].GetLayer()); } } } }
/*-----------------*/ /*--関数名:Start--*/ /*--概要:初期化---*/ /*--引数:なし-----*/ /*--戻り値:なし---*/ /*-----------------*/ void Start() { //オブジェクトを探す //go_start_button = GameObject.Find("StartButton"); //go_exit_button = GameObject.Find("ExitButton"); //go_exit_button_frame = GameObject.Find("ExitButtonFrame"); //go_select_tex = GameObject.Find("SelectTex"); //go_select_frame = GameObject.Find("SelectFrame"); GameObject go_screen_fade = GameObject.Find("ScreenFade"); //コンポーネントを探す //component_select_frame = go_select_frame.transform.Find("Frame").GetComponent<RectTransform>(); sc_screen_fade = go_screen_fade.GetComponent <FadeController>(); sc_decoration_generator = GameObject.Find("BackGroundDecorationGenerator").GetComponent <BackGroundDecorationGenerator>(); //初期化 button_distance = Vector3.zero; last_position = Vector3.zero; select_frame_angle = 0.0f; fade_angle = 0.0f; select_eixt = false; start_fade_out = false; Data.stage_number = 0; ////明るいフレームに設定する //go_exit_button_frame.GetComponent<Image>().sprite = exit_button_frame[0]; //go_exit_button_frame.GetComponent<Image>().color = new Color(0.65f, 0.65f, 0.65f); //go_exit_button.GetComponent<Image>().color = new Color(0.65f, 0.65f, 0.65f); //フェードの初期化 Vector4 fade_color = go_screen_fade.GetComponent <Image>().color; go_screen_fade.GetComponent <Image>().color = new Vector4(fade_color.x, fade_color.y, fade_color.z, 1.0f); //Canvasの設定を変える(泡の飾りをUIより前に表示するために) SharedData.instance.SetCanvasOption(GameObject.Find("Canvas").GetComponent <Canvas>()); //Cameraの映る範囲をもらう camera_range = SharedData.instance.GetCameraRange(GameObject.Find("Main Camera").GetComponent <Camera>()); //飾りを作成する(背景と前景) SharedData.instance.CreatePreviousSceneDecoration(sc_decoration_generator, GameObject.Find("Main Camera").transform.position); //CanvasScalerの設定を変える(画面サイズが変わっても自動的に大きさなどを変更するように) SharedData.instance.SetCanvasScaleOption(GameObject.Find("Canvas").GetComponent <CanvasScaler>()); ////Canvasの設定を変える(選択フレーム) //SharedData.instance.SetCanvasOption(go_select_frame.GetComponent<Canvas>()); ////CanvasScalerの設定を変える //SharedData.instance.SetCanvasScaleOption(go_select_frame.GetComponent<CanvasScaler>()); ////オブジェクト「Canvas」より前に設定する //GameObject.Find("SelectFrame").GetComponent<Canvas>().sortingOrder = 10; ////座標変更 //go_select_tex.transform.position = go_start_button.transform.position; //component_select_frame.position = new Vector3(go_select_tex.transform.position.x, go_select_tex.transform.position.y, component_select_frame.position.z); ////拡大率変更 //go_select_tex.transform.localScale = go_start_button.transform.localScale + new Vector3(0.5f, 0.5f, 0.0f); //component_select_frame.localScale = go_select_tex.transform.localScale; //スプライトを切り替える時間を設定する(0.5秒~1.0秒の間ランダム) change_sprite_time = Random.Range(0.5f, 1.0f); //タイトル画面が始まった時間を設定する start_title_time = Time.time; //BGMを流す SoundPlayer.PlayBGM(bgm); }
/*-----------------*/ /*--関数名:Start--*/ /*--概要:初期化---*/ /*--引数:なし-----*/ /*--戻り値:なし---*/ /*-----------------*/ void Start() { //オブジェクトを探す go_camera = GameObject.Find("Main Camera"); go_select_tex = GameObject.Find("SelectTex"); go_select_frame = GameObject.Find("SelectFrame"); go_title_button = GameObject.Find("TitleButton"); go_background = GameObject.Find("ProvisionalBackGround"); GameObject go_screen_fade = GameObject.Find("ScreenFade"); //コンポーネントを探す component_select_frame = go_select_frame.transform.Find("Frame").GetComponent <RectTransform>(); sc_screen_fade = GameObject.Find("ScreenFade").GetComponent <FadeController>(); sc_decoration_generator = GameObject.Find("BackGroundDecorationGenerator").GetComponent <BackGroundDecorationGenerator>(); //ステージ FindStageObject(); //初期化 stage_distance = Vector2.zero; last_position = Vector2.zero; next_scene_name = ""; stage_number = SharedData.instance.play_stage_number; last_number = 0; select_next_stage_count = 0; angle = 0.0f; not_operate_time = -1.0f; camera_width = 0.0f; select_title = false; select_stage = true; start_fade_out = false; making_screen_size = new Vector2(1920.0f, 1050.0f); //フェードの初期化 Vector4 fade_color = go_screen_fade.GetComponent <Image>().color; go_screen_fade.GetComponent <Image>().color = new Vector4(fade_color.x, fade_color.y, fade_color.z, 1.0f); for (int i = 0; i < go_stage.Length; i++) { //クリアしているステージ番号に1足したステージ番号までを遊べる状態にする if (i <= clear_stage_number + 1) { go_stage[i].GetComponent <StageFrameController>().SetCanPlay(true); } else { go_stage[i].GetComponent <StageFrameController>().SetCanPlay(false); } } //ステージフレームに選ばれている番号を教える SetSelectStage(false); //ステージ全てをLineで通す AllStageLinePass(); //Canvasの設定を変える(泡の飾りをUIより前に表示するために) SharedData.instance.SetCanvasOption(GameObject.Find("Canvas").GetComponent <Canvas>()); //Cameraの映る範囲をもらう camera_range = SharedData.instance.GetCameraRange(go_camera.GetComponent <Camera>()); //飾りを作成する(背景と前景) SharedData.instance.CreatePreviousSceneDecoration(sc_decoration_generator, new Vector3(go_select_tex.transform.position.x, 0.0f)); //CanvasScalerの設定を変える(画面サイズが変わっても自動的に大きさなどを変更するように) SharedData.instance.SetCanvasScaleOption(GameObject.Find("Canvas").GetComponent <CanvasScaler>()); //Canvasの設定を変える(選択フレーム) SharedData.instance.SetCanvasOption(go_select_frame.GetComponent <Canvas>()); //CanvasScalerの設定を変える SharedData.instance.SetCanvasScaleOption(go_select_frame.GetComponent <CanvasScaler>()); //オブジェクト「Canvas」より前に設定する GameObject.Find("SelectFrame").GetComponent <Canvas>().sortingOrder = 10; //座標変更 go_select_tex.transform.position = go_stage[SharedData.instance.play_stage_number].transform.position; component_select_frame.position = new Vector3(go_select_tex.transform.position.x, go_select_tex.transform.position.y, component_select_frame.position.z); //拡大率変更 go_select_tex.transform.position = (go_stage[SharedData.instance.play_stage_number].transform.localScale.x * go_stage[SharedData.instance.play_stage_number].transform.Find("StageFrame").transform.localScale) + new Vector3(0.5f, 0.5f, 0.0f);; component_select_frame.localScale = go_select_tex.transform.localScale; Debug.Log(go_camera.transform.position); //カメラの移る幅を渡す camera_width = camera_range[1].x - camera_range[0].x; }
/*-----------------*/ /*--関数名:Start--*/ /*--概要:初期化---*/ /*--引数:なし-----*/ /*--戻り値:なし---*/ /*-----------------*/ void Start() { //オブジェクトを探す //go_result_frame = GameObject.Find("ResultFrame"); go_select_stage = GameObject.Find("SelectStageButton"); //コンポーネントを探す text_stage_purification_rate = GameObject.Find("StagePurificationRate"); text_rate = GameObject.Find("PurificationRate"); text_percent = GameObject.Find("PurificationRatePercent"); renderer_background = GameObject.Find("BackGround").GetComponent <SpriteRenderer>(); sc_screen_fade = GameObject.Find("ScreenFade").GetComponent <FadeController>(); sc_decoration_generator = GameObject.Find("BackGroundDecorationGenerator").GetComponent <BackGroundDecorationGenerator>(); select_stage_angle = 0.0f; //座標設定 text_stage_purification_rate.GetComponent <RectTransform>().anchoredPosition = new Vector3(560, 525, -2000); text_rate.GetComponent <RectTransform>().anchoredPosition = new Vector3(560, 225, -2000); text_percent.GetComponent <RectTransform>().anchoredPosition = new Vector3(860, 175, -2000); go_select_stage.GetComponent <RectTransform>().anchoredPosition = new Vector3(-400, 200, -2000); select_stage_start_pos = new Vector3(-200, 100, -2100); //座標変更 //go_result_frame.transform.position = new Vector3(-30.0f, 2.0f, 0.0f); //stage_purification_rate.rectTransform.anchoredPosition = new Vector3(-Screen.width - 300.0f, 200.0f, 0.0f); //*----浄化率のテキストの設定----*// //プレイシーンから汚染ポイントと残っている汚染ポイントを使って浄化率を求める purification = Data.currentCleanRate; if (Data.cleanRate.ContainsKey(Data.stage_number)) { Data.cleanRate[Data.stage_number] = Mathf.Max(Data.cleanRate[Data.stage_number], purification); } else { Data.cleanRate[Data.stage_number] = purification; } float rate = purification; //パーセンテージに変更 int percent = (int)(rate * 100); //浄化率のテキストを設定する text_rate.GetComponent <Text>().text = percent.ToString(); //浄化率からランクを決める num_lamp = SharedData.instance.GetPercentRank(percent); //浄化率からテキストの色を設定する SetPercentTextPositionColor(num_lamp, percent / 10); //浄化率をBGMを決めて再生する PlayPercentBGM(num_lamp); //浄化率から背景を設定する SetBackGroundSprite(num_lamp); //*----SharedDataにあるステージデータに記録する----*// SharedData.instance.SetPurificationRate(percent); //○○ステージクリア! のテキストを設定する //stage_purification_rate.text = SharedData.instance.SetStageNameEnglish(SharedData.instance.play_stage_number) + " クリア!"; //スコア のテキストを設定する //text_score.text = "Score:" + score.ToString(); //評価の星の数を決める //SetNumRankStar(score); //評価する星の数から評価する星の設定をする //SetRankStar(num_rank_star); //SetRankStar(Data.star_num); //フェードインさせる FadeManager.fadeColor = Color.black; FadeManager.FadeIn(1.5f); ////Canvasの設定を変える(泡の飾りをUIより前に表示するために) //SharedData.instance.SetCanvasOption(GameObject.Find("Canvas").GetComponent<Canvas>()); //Cameraの映る範囲をもらう camera_range = SharedData.instance.GetCameraRange(GameObject.Find("Main Camera").GetComponent <Camera>()); //CanvasScalerの設定を変える(画面サイズが変わっても自動的に大きさなどを変更するように) SharedData.instance.SetCanvasScaleOption(GameObject.Find("Canvas").GetComponent <CanvasScaler>()); ////Canvasの設定を変える(選択フレーム) //SharedData.instance.SetCanvasOption(GameObject.Find("SelectFrame").GetComponent<Canvas>()); ////CanvasScalerの設定を変える //SharedData.instance.SetCanvasScaleOption(GameObject.Find("SelectFrame").GetComponent<CanvasScaler>()); ////オブジェクト「Canvas」より前に設定する //GameObject.Find("SelectFrame").GetComponent<Canvas>().sortingOrder = 10; //スプライトを切り替える時間を設定する(0.5秒~1.0秒の間ランダム) change_sprite_time = Random.Range(0.5f, 1.0f); //リザルト画面が始まった時間を設定する start_result_time = Time.time; }