Пример #1
0
 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);
     }
 }
Пример #2
0
 void Update()
 {
     if (Input.GetButtonDown("Back") || Input.GetKeyDown(KeyCode.Escape))
     {
         g_se_source_Script.Se_Play(4);
         Move_Title();
     }
 }
Пример #3
0
    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());
        }
    }
Пример #4
0
    /// <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;
    }
Пример #5
0
    /// <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;
    }
Пример #6
0
 public void OcClick()
 {
     g_button_array_Script.enabled = false;
     g_se_source_Script.Se_Play(3);
     g_fade_Script.Start_Fade_Out(Load_Scene());
 }
Пример #7
0
    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
    }
Пример #8
0
    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);
        }
    }
Пример #9
0
    /// <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);
            }
        }
    }