void Update() { if (Input.GetButtonDown("Start") && g_start_flag == false) { g_controller_guide.SetActive(true); g_optionamim.SetBool("StartPushFlag", true); g_start_flag = true; g_se_source_Script.Se_Play(6); } else if (Input.GetButtonDown("Start") && g_start_flag) { g_controller_guide.SetActive(false); g_optionamim.SetBool("StartPushFlag", false); g_start_flag = false; g_se_source_Script.Se_Play(7); } }
void Update() { if (Input.GetButtonDown("Back") || Input.GetKeyDown(KeyCode.Escape)) { g_se_source_Script.Se_Play(4); Move_Title(); } }
void Update() { if (Input.GetAxisRaw("Vertical") > 0.5 && g_horizontal_flag == false) { //選択中だったテキストの色をデフォルトに戻す DontSelect(); //ポインターを戻す g_select_pointer--; if (g_select_pointer < 0) { g_select_pointer = g_gameover_UI.Length - 1; } g_se_source_Script.Se_Play(2); //次に選択するテキストの色を変更する ChangeSelect(); //連続で押せないようにする g_horizontal_flag = true; } if (Input.GetAxisRaw("Vertical") < -0.5 && g_horizontal_flag == false) { //選択中だったテキストの色をデフォルトに戻す DontSelect(); //ポインターを進める g_select_pointer++; if (g_select_pointer > g_gameover_UI.Length - 1) { g_select_pointer = 0; } g_se_source_Script.Se_Play(2); //次に選択するテキストの色を変更する ChangeSelect(); //連続で押せないようにする g_horizontal_flag = true; } if (Input.GetAxisRaw("Vertical") < 0.5 && Input.GetAxisRaw("Vertical") > -0.5) { g_horizontal_flag = false; } if (Input.GetButtonDown("A")) { g_se_source_Script.Se_Play(3); g_fade_Script.Start_Fade_Out(Select()); } }
/// <summary> /// ダイスをゆっくり落下させる処理 /// </summary> /// <returns></returns> private IEnumerator Move() { //移動中状態にする g_player_con_Script.MoveFlag_True(); //速度初期化 g_move_speed = g_zero_count; //速度加算変数初期化 g_plus_speed = g_zero_count; //中心のダイスのスクリプト取得 g_child_Script = g_center_dice.GetComponent <Dice_Squares>(); //中心のダイスの現在位置取得 (g_dice_ver, g_dice_side, g_dice_high) = g_child_Script.Get_Dice_Pointer(); //現在の位置―移動回数をして移動先の高さを計算 int fall_high = g_dice_high - g_min_counter; //中心のダイスの現在のポジション取得 Vector3 center_Pos = g_game_Con_Script.Get_Pos(g_dice_ver, g_dice_side, g_dice_high); //中心のダイスの移動後のポジション取得 Vector3 end_Pos = g_game_Con_Script.Get_Pos(g_dice_ver, g_dice_side, fall_high); //動かしたい親を取得 Get_Parent(); //動かしたい親オブジェクトの移動先を計算して格納 //移動前から移動先の移動量を計算し、親の移動先を計算する Vector3 parent_end_Pos = g_parent_Obj.transform.position - (center_Pos - end_Pos); //親オブジェクトの位置が移動先につくまで繰り返す while (g_center_dice.transform.position != end_Pos) { //移動速度上げる if (g_move_speed < g_max_speed) { //移動速度加算 g_move_speed = g_move_speed + g_plus_speed; //加算量増加 g_plus_speed = g_plus_speed + 2.5f; } //親オブジェクトを移動先に向かって移動 g_parent_Obj.transform.position = Vector3.MoveTowards(g_parent_Obj.transform.position, parent_end_Pos, g_move_speed * Time.deltaTime); yield return(null); } //移動中状態を解除する g_player_con_Script.MoveFlag_False(); //移動先への移動終了 g_center_dice.transform.position = end_Pos; //移動SE再生 g_se_source_Script.Se_Play(0); //ダイスを配列から削除 Dice_Storage_Reset(); //ダイスを配列の移動先に格納 Dice_Storage(); //処理終了 yield break; }
/// <summary> /// サイコロを一定の速度で回転させる処理 /// </summary> /// <returns></returns> IEnumerator Rotate() { //回転中にする g_player_con_Script.MoveFlag_True(); //回転速度の初期化 g_rotation_Speed = g_start_rotation_Speed; //回転の角度合計を保持する変数 float rotation_Sum = 0f; //回転させたい親を取得 Get_Parent(); //くっついているダイスの個数取得 int dice_count = g_parent_Obj.GetComponent <Parent_Dice>().Get_Children_Count(); g_rotation_Speed = g_rotation_Speed - dice_count; if (g_rotation_Speed < g_rotation_speed_Min) { g_rotation_Speed = g_rotation_speed_Min; } //合計が決めた角度になるまで続ける while (rotation_Sum < g_rotation_Max) { //角度を変更 g_rotation_Amount = g_rotation_Speed; //角度合計を加算 rotation_Sum += g_rotation_Amount; //角度合計が最大値を超えてしまった時 if (rotation_Sum > g_rotation_Max) { //角度を調整する g_rotation_Amount -= rotation_Sum - g_rotation_Max; } //軸と中心を元に回転させる g_parent_Obj.transform.RotateAround(g_rotate_Point, g_rotate_Axis, g_rotation_Amount); yield return(null); } //回転中をではなくする g_player_con_Script.MoveFlag_False(); //回転の中心を初期化 g_rotate_Point = Vector3.zero; //回転の軸を初期化 g_rotate_Axis = Vector3.zero; //回転SE再生 g_se_source_Script.Se_Play(0); //回転先にダイスを格納する g_parent_rotate_Script.Reset_And_Storage_Obj(); //処理終了 yield break; }
public void OcClick() { g_button_array_Script.enabled = false; g_se_source_Script.Se_Play(3); g_fade_Script.Start_Fade_Out(Load_Scene()); }
void Update() { if (g_oneflag == false) { g_stageInformationScript.Change_StageNum(g_var_pointer, g_side_pointer); ButtonBig(); g_oneflag = true; } #region キーが押されたときの処理 //Aキーが押されたとき if (Input.GetKeyDown(KeyCode.A) || (Input.GetAxisRaw("Horizontal") < -g_controller_time && g_stick_flag == false)) { ButtonOrigin(); //2段目以降の一番左の時 if (g_side_pointer == 0 && g_var_pointer != 0) { g_var_pointer -= 1; g_side_pointer = g_spwern_script.g_side_num - 1; g_page_turnover -= 1; if (g_page_turnover % g_page_var_count == 0) { this.transform.localPosition -= new Vector3(0, g_move_g_var * 20, 0); } } //一番上の一番左の時 else if (g_side_pointer == 0 && g_var_pointer == 0) { //ステージにあまりがない場合 if (g_spwern_script.g_remainder_num == 0) { g_var_pointer = g_spwern_script.g_varmax_num - 1; g_side_pointer = g_spwern_script.g_side_num - 1; g_page_turnover = g_max_var_count; } //あまりがあったとき else { Debug.Log("あまり"); g_var_pointer = g_spwern_script.g_varmax_num - 1; g_side_pointer = g_spwern_script.g_remainder_num - 1; g_page_turnover = g_max_var_count; } //最後のページの縦の数を計算して取得 } else { g_side_pointer -= 1; } ButtonBig(); g_stick_flag = true; g_se_source_Script.Se_Play(2); g_stage_image_Script.Stage_Sprite_Change(g_var_pointer, g_side_pointer); g_move_counter_Script.Move_Count_Text_Change(g_var_pointer, g_side_pointer); g_stageInformationScript.Change_StageNum(g_var_pointer, g_side_pointer); //Debug.Log(g_spwern_script.g_json_stage_array[g_var_pointer, g_side_pointer]); } if (Input.GetKeyDown(KeyCode.D) || (Input.GetAxisRaw("Horizontal") > g_controller_time && g_stick_flag == false)) { ButtonOrigin(); //一番下以外の一番右の時 if (g_side_pointer == g_spwern_script.g_side_num - 1 && g_var_pointer != g_spwern_script.g_varmax_num - 1) { g_side_pointer = 0; g_var_pointer += 1; if (g_page_turnover % g_page_var_count == 0) { this.transform.localPosition += new Vector3(0, g_move_g_var * 20, 0); } g_page_turnover += 1; } ////一番下でなおかつ一番右の時 else if (g_side_pointer == g_json_script.g_stage_remainder - 1 && g_spwern_script.g_json_button_array[g_var_pointer, g_side_pointer + 1] == null) { g_side_pointer = 0; g_var_pointer = 0; g_page_turnover = 1; } //最後のページの横が全部埋まってた時 else if (g_side_pointer == g_spwern_script.g_side_num - 1 && g_var_pointer == g_spwern_script.g_varmax_num - 1) { g_side_pointer = 0; g_var_pointer = 0; g_page_turnover = 1; } else { g_side_pointer += 1; } ButtonBig(); g_stick_flag = true; g_se_source_Script.Se_Play(2); g_stage_image_Script.Stage_Sprite_Change(g_var_pointer, g_side_pointer); g_move_counter_Script.Move_Count_Text_Change(g_var_pointer, g_side_pointer); g_stageInformationScript.Change_StageNum(g_var_pointer, g_side_pointer); //Debug.Log(g_spwern_script.g_json_stage_array[g_var_pointer, g_side_pointer]); } if (Input.GetKeyDown(KeyCode.W) || (Input.GetAxisRaw("Vertical") > g_controller_time && g_stick_flag == false)) { ButtonOrigin(); //ポインターがはみ出そうなとき if (g_var_pointer == 0) { g_var_pointer = g_spwern_script.g_varmax_num - 1; g_var_pointer = VarNullChacker(0); //一番下があまりの部分かそうじゃないか if (g_var_pointer == g_spwern_script.g_varmax_num - 1) { g_page_turnover = g_max_var_count; } else if (g_var_pointer != g_spwern_script.g_varmax_num - 1) { g_page_turnover = g_max_var_count - 1; } } else { g_var_pointer -= 1; g_page_turnover -= 1; } ButtonBig(); g_stick_flag = true; //次のページに行く処理 あとここだけw if (g_page_turnover % g_page_var_count == 0) { this.transform.localPosition -= new Vector3(0, g_move_g_var * 0, 0); } g_se_source_Script.Se_Play(2); g_stage_image_Script.Stage_Sprite_Change(g_var_pointer, g_side_pointer); g_move_counter_Script.Move_Count_Text_Change(g_var_pointer, g_side_pointer); g_stageInformationScript.Change_StageNum(g_var_pointer, g_side_pointer); } if (Input.GetKeyDown(KeyCode.S) || (Input.GetAxisRaw("Vertical") < -g_controller_time && g_stick_flag == false)) { ButtonOrigin(); //次のページに行く処理 if (g_page_turnover % g_page_var_count == 0) { this.transform.localPosition += new Vector3(0, g_move_g_var * 0, 0); //ButtonBig(); } //ポインターがはみ出そうなとき if (g_var_pointer == g_spwern_script.g_varmax_num - 1) { g_var_pointer = 0; g_page_turnover = 1; } else { g_page_turnover += 1; g_var_pointer += 1; VarNullChacker(1); } ButtonBig(); g_stick_flag = true; g_se_source_Script.Se_Play(2); g_stage_image_Script.Stage_Sprite_Change(g_var_pointer, g_side_pointer); g_move_counter_Script.Move_Count_Text_Change(g_var_pointer, g_side_pointer); g_stageInformationScript.Change_StageNum(g_var_pointer, g_side_pointer); //Debug.Log(g_spwern_script.g_json_stage_array[g_var_pointer, g_side_pointer]); } if (Input.GetAxisRaw("Vertical") > -g_limit_num && Input.GetAxisRaw("Vertical") < g_limit_num && Input.GetAxisRaw("Horizontal") < g_limit_num && Input.GetAxisRaw("Horizontal") > -g_limit_num && g_stick_flag) { g_stick_flag = false; } if (Input.GetKeyDown(KeyCode.Space) || Input.GetButtonDown("A")) { g_stagename = g_spwern_script.g_json_button_array[g_var_pointer, g_side_pointer].GetComponent <GetStagename>(); g_stagename.g_get_stagename = g_spwern_script.g_json_stage_array[g_var_pointer, g_side_pointer]; g_stageInformationScript.Change_StageNum(g_var_pointer, g_side_pointer); g_se_source_Script.Se_Play(3); g_stagename.OnClick(); } #endregion }
void Update() { if (g_pushStart_Script.g_start_flag) { if (Input.GetAxisRaw("Vertical") > 0.5 && g_horizontal_flag == false) { ChangeSelect(); if (g_option_pointer > 0) { g_option_pointer--; g_rotate_flag = 0; } else if (g_option_pointer == 0) { g_option_pointer = g_option.Length - 1; g_rotate_flag = 0; } g_se_source_Script.Se_Play(2); DontSelect(); g_horizontal_flag = true; } if (Input.GetAxisRaw("Vertical") < -0.5 && g_horizontal_flag == false) { ChangeSelect(); if (g_option_pointer < g_option.Length - 1) { g_option_pointer++; g_rotate_flag = 2; } else if (g_option_pointer == g_option.Length - 1) { g_option_pointer = 0; g_rotate_flag = 2; } g_se_source_Script.Se_Play(2); DontSelect(); g_horizontal_flag = true; } if (Input.GetAxisRaw("Vertical") < 0.5 && Input.GetAxisRaw("Vertical") > -0.5) { g_horizontal_flag = false; } if (Input.GetButtonDown("A")) { switch (g_option_pointer) { case 0: g_se_source_Script.Se_Play(5); g_option[g_option_pointer].GetComponent <OptionText>().SelectScene(g_scene_name); break; case 1: g_se_source_Script.Se_Play(4); g_option[g_option_pointer].GetComponent <OptionText>().SelectScene("SelectScene"); break; case 2: break; case 3: break; } } } //オプション選択時に角度を変え、カーソルの位置を合わせる処理 if (g_rotateController <= -45 * g_option_pointer || g_rotateController >= -45 * g_option_pointer) { this.gameObject.transform.localRotation = Quaternion.Euler(0, 0, -45 * g_option_pointer); g_rotate_flag = 1; g_option[1].transform.localRotation = Quaternion.Euler(0, 0, -45 * g_option_pointer); //if (g_option_pointer == 0) { // g_rotateController = 0; //} } if (g_rotate_flag == 2) { g_rotateController -= 540 * Time.deltaTime; this.gameObject.transform.localRotation = Quaternion.Euler(0, 0, g_rotateController); } else if (g_rotate_flag == 0) { g_rotateController += 540 * Time.deltaTime; this.gameObject.transform.localRotation = Quaternion.Euler(0, 0, g_rotateController); } }
/// <summary> /// 接触したサイコロ同士の接触面を比較し接着するか調べる処理 /// </summary> private void Docking_Check() { //移動側のサイコロの接触面に対応した処理をする switch (g_adhesive_para) { //接触面が縦のプラス方向の時 case g_ver_plus_para: //停止側のパラメータを縦のマイナス方向のパラメータにする g_next_adhesive_para = g_ver_minus_para; break; //接触面が縦のマイナス方向の時 case g_ver_minus_para: //停止側のパラメータを縦のプラス方向のパラメータにする g_next_adhesive_para = g_ver_plus_para; break; //接触面が横のプラス方向の時 case g_side_plus_para: //停止側のパラメータを横のマイナス方向のパラメータにする g_next_adhesive_para = g_side_minus_para; break; //接触面が横のマイナス方向の時 case g_side_minus_para: //停止側のパラメータを横のプラス方向のパラメータにする g_next_adhesive_para = g_side_plus_para; break; //接触面が高さのプラス方向の時 case g_high_plus_para: //停止側のパラメータを高さのマイナス方向のパラメータにする g_next_adhesive_para = g_high_minus_para; break; //接触面が高さのマイナス方向の時 case g_high_minus_para: //停止側のパラメータを高さのプラス方向のパラメータにする g_next_adhesive_para = g_high_plus_para; break; } //接触した側の接触面の数値を取得 int g_dice_squares = g_dice_Obj.GetComponent <Dice_Squares>().Get_Array_Squares(g_adhesive_para); //接触された側の接触面の数値を取得 int g_next_dice_squares = g_next_dice_Script.Get_Array_Squares(g_next_adhesive_para); //互いの数値の合計が7の時くっつく if (g_dice_squares + g_next_dice_squares == g_max_squares_sum) { //操作中オブジェクトの親を取得 GameObject parent_Obj = g_dice_Obj.gameObject.transform.root.gameObject; //くっつけられた側の親オブジェクトを保持 GameObject detroy_Obj = g_next_dice_Obj.transform.parent.gameObject; //くっつけられた側の親のスクリプト取得 Parent_Dice next_parent_Script = g_next_dice_Obj.transform.parent.GetComponent <Parent_Dice>(); //くっつけられた側の子オブジェクトをすべて取得 GameObject[] children = next_parent_Script.Get_Children(); //くっつける前の子の数 int children_count = parent_Obj.GetComponent <Parent_Dice>().Get_Children_Count(); parent_Obj.GetComponent <Parent_Dice>().Parent_In_Child(children); int plus_count = next_parent_Script.Get_Children_Count(); //くっつけた後の子の数 int next_children_count = parent_Obj.GetComponent <Parent_Dice>().Get_Children_Count(); //くっつけた後の子の個数がくっつける前より増えていたら if (next_children_count > children_count) { //くっつくSEを再生 g_se_source_Script.Se_Play(1); //くっついた面からパーティクル生成 g_particle_Script.Docking_Particle_Play(g_dice_Obj, g_now_check_pointer); } } }