public void comboadd() { ImportantValue dx = scriptbox.GetComponent <ImportantValue>(); timekeeper tk = scriptbox.GetComponent <timekeeper>(); SE_container se = scriptbox.GetComponent <SE_container>();// if (scenemover.gamemode() == 0) { combo++; if (maxcombo < combo) { maxcombo = combo; } int plusscore = 0; switch (tk.nowlevel) { case 1: if (combo < dx.combobonus_lv1) { plusscore = combo; } else { plusscore = dx.combobonus_lv1; } break; case 2: if (combo * 2 < dx.combobonus_lv2) { plusscore = combo * 2; } else { plusscore = dx.combobonus_lv2; } break; case 3: if (combo * 3 < dx.combobonus_lv3) { plusscore = combo * 3; } else { plusscore = dx.combobonus_lv3; } break; case 4: if (combo * 4 < dx.combobonus_lv4) { plusscore = combo * 4; } else { plusscore = dx.combobonus_lv4; } break; } // tk.time = tk.time + dx.addtime1; score = score + plusscore; GameObject score_UI = GameObject.Instantiate(scoreUI) as GameObject; score_UI.transform.SetParent(canvas.transform); score_UI.GetComponent <RectTransform>().localPosition = new Vector3(-380, 200, 0); ScoreUI ui = score_UI.GetComponent <ScoreUI>();//スコアを取得 ui.hyojiscore = plusscore; //時間延長工作 if (combo % dx.addcombo1 == 0 && (combo % dx.addcombo2 != 0)) //5コンボごとに時間追加 { GetComponent <AudioSource>().PlayOneShot(se.Fivecombo); //効果音を鳴らす switch (tk.nowlevel) { case 1: tk.time_lv1 = tk.time_lv1 + dx.addtime1; break; case 2: tk.time_lv2 = tk.time_lv2 + dx.addtime1; break; case 3: tk.time_lv3 = tk.time_lv3 + dx.addtime1; break; case 4: tk.time_lv4 = tk.time_lv4 + dx.addtime1; break; } // tk.time = tk.time + dx.addtime1; } if (combo % dx.addcombo2 == 0) //10コンボごとに時間追加 { GetComponent <AudioSource>().PlayOneShot(se.Tencombo); //効果音を鳴らす switch (tk.nowlevel) { case 1: tk.time_lv1 = tk.time_lv1 + dx.addtime2; break; case 2: tk.time_lv2 = tk.time_lv2 + dx.addtime2; break; case 3: tk.time_lv3 = tk.time_lv3 + dx.addtime2; break; case 4: tk.time_lv4 = tk.time_lv4 + dx.addtime2; break; } tk.time = tk.time + dx.addtime2; } } //ここからサバイバル //ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss else if (scenemover.gamemode() == 1) { sv_progress++; if (sv_progress == dx.sv_progress_per_level) //5コンボごとに次レベルへ { GetComponent <AudioSource>().PlayOneShot(se.Fivecombo); //効果音を鳴らす switch (tk.nowlevel) { case 1: tk.nowlevel = 2; tk.flag1 = 1; break; case 2: tk.nowlevel = 3; tk.flag2 = 1; break; case 3: tk.nowlevel = 4; tk.flag3 = 1; break; case 4: tk.nowlevel = 5; tk.flagX3 = 1; tk.flagX2 = 1; tk.flagX1 = 1; tk.LASTflag = 1; break; } sv_progress = 0; } } }
// フリックジェスチャーが成功すると呼ばれるメソッド private void OnFlick(object sender, System.EventArgs e) { timekeeper dt = scriptbox.GetComponent <timekeeper>(); ImportantValue iv = scriptbox.GetComponent <ImportantValue>(); ScoreHolder sh = scriptbox.GetComponent <ScoreHolder>(); stop st = scriptbox.GetComponent <stop>(); if (dt.time == 0 && scenemover.gamemode() == 0) { return; } if (dt.time_lv4 <= 0 && scenemover.gamemode() == 0) { return; } if (dt.coolflag == true && scenemover.gamemode() == 0) { return; } if (dt.time_sv <= 0 && scenemover.gamemode() == 1) { return; } if (sh.left_jiki < 0 && scenemover.gamemode() == 1) { return; } if (st.running == false) { return; } ScoreHolder d_score = scriptbox.GetComponent <ScoreHolder>(); var up = new Vector3(0, 1, 0); //上 var left = new Vector3(-0.866f, -0.5f, 0); //左下 var right = new Vector3(0.866f, -0.5f, 0); //右上 var gesture = sender as FlickGesture; // string str = "フリック: " + gesture.ScreenFlickVector + " (" + gesture.ScreenFlickTime + "秒)"; var Fvector = gesture.ScreenFlickVector.normalized; // Vector3.Dot(Fvector, uptri); //$$遊び switch (iv.jiki) { case 30: zentai.transform.DOShakePosition(0.2f, 1, 10, 90, false, true); break; case 31: zentai.transform.DOShakePosition(1f, 10, 100, 90, false, true); break; } if (Vector3.Dot(Fvector, up) > 0.5f) { goal = 0; } if (Vector3.Dot(Fvector, left) > 0.5f) { goal = 1; } if (Vector3.Dot(Fvector, right) > 0.5f) { goal = 2; } Flicked f0 = scriptbox.GetComponent <Flicked>(); Flicked_1 f1 = scriptbox.GetComponent <Flicked_1>(); Flicked_2 f2 = scriptbox.GetComponent <Flicked_2>(); Flicked_3 f3 = scriptbox.GetComponent <Flicked_3>(); Shrink_3 s3 = scriptbox.GetComponent <Shrink_3>(); shrink_2 s2 = scriptbox.GetComponent <shrink_2>(); shrink_1 s1 = scriptbox.GetComponent <shrink_1>(); shrink_0 s0 = scriptbox.GetComponent <shrink_0>(); if (dt.nowlevel == 0)//ホントに最初 { if (f0.firstmove(goal)) { dt.flag = true; dt.nowlevel = 1; } } else if (dt.flag1 == 0)//最初 { f0.move(goal); } else if (dt.flag1 == 1) { if (f1.firstmove(goal)) { dt.flag1 = 2; } dt.flag = true; } else if (dt.flag2 == 0) { f1.move(goal); } else if (dt.flag2 == 1) { if (f2.firstmove(goal)) { dt.flag2 = 2; } dt.flag = true; } else if (dt.flag3 == 0) { f2.move(goal); } else if (dt.flag3 == 1) { if (f3.firstmove(goal)) { dt.flag3 = 2; } dt.flag = true; } else if (dt.flagX3 == 0) { f3.move(goal); } else if (dt.flagX3 == 1) { if (s3.shrink(goal)) { dt.flagX3 = 2; } } else if (dt.flagX2 == 1) { if (s2.shrink(goal)) { dt.flagX2 = 2; } } else if (dt.flagX1 == 1) { if (s1.shrink(goal)) { dt.flagX1 = 2; } } else if (dt.LASTflag == 1) { if (s0.shrink(goal)) { dt.LASTflag = 2; } } else { // Debug.Log("もうねえ"); } int var; //nextlevel()で全部0に戻される }
public void move(int goal)//(始点,終点) { var uptri = new Vector3(0, 0.25f, -5); var lefttri = new Vector3(-0.2166f, -0.125f, -5); var righttri = new Vector3(0.2166f, -0.125f, -5); ImportantValue dx = scriptbox.GetComponent <ImportantValue>(); //スコアを取得 ScoreHolder d_score = scriptbox.GetComponent <ScoreHolder>(); //スコアを取得 SE_container se = scriptbox.GetComponent <SE_container>(); //スコアを取得 Debug.Log("ouu"); if (goal == targetpos)//正解なら三角形が移動し、解答が再配置される { Debug.Log("ouua"); /* GameObject score_UI = GameObject.Instantiate(scoreUI ) as GameObject; * score_UI.transform.parent=canvas.transform; * score_UI.GetComponent<RectTransform>().localPosition = new Vector3(-340, 200, 0); * ScoreUI ui = score_UI.GetComponent<ScoreUI>();//スコアを取得 * ui.hyojiscore = 3; * // score_UI.transform =uptri; */ // Debug.Log("正解"); d_score.comboadd(); ansset(nowpos, goal); //正解の配置 triset(); //三角形の配置 GetComponent <AudioSource>().PlayOneShot(se.atari); //効果音を鳴らす switch (goal) { case 0: rectTran.DOLocalMove(uptri, 0.1f); break; case 1: rectTran.DOLocalMove(lefttri, 0.1f); break; case 2: rectTran.DOLocalMove(righttri, 0.1f); break; } } else if (goal == nowpos) //同じ場所にフリックしたら 何もなし { } else {//外れたら ペナルティ/////////////////////////////////////////// //3秒待たせる d_score.left_jiki--; GetComponent <AudioSource>().PlayOneShot(se.hazure);//効果音を鳴らす // d_score.score = d_score.score - dx.missscore_lv1; d_score.miss(); var sequence = DOTween.Sequence(); switch (goal)// goal…フリック先、ミス { case 0: switch (nowpos) { case 0: break; case 1: sequence.Append(rectTran.DOLocalMove(uptri, 0.1f)); sequence.Append(rectTran.DOLocalMove(lefttri, 0.05f)); break; case 2: sequence.Append(rectTran.DOLocalMove(uptri, 0.1f)); sequence.Append(rectTran.DOLocalMove(righttri, 0.05f)); break; } break; case 1: switch (nowpos) { case 0: sequence.Append(rectTran.DOLocalMove(lefttri, 0.1f)); sequence.Append(rectTran.DOLocalMove(uptri, 0.05f)); break; case 1: break; case 2: sequence.Append(rectTran.DOLocalMove(lefttri, 0.1f)); sequence.Append(rectTran.DOLocalMove(righttri, 0.05f)); break; } break; case 2: switch (nowpos) { case 0: sequence.Append(rectTran.DOLocalMove(righttri, 0.1f)); sequence.Append(rectTran.DOLocalMove(uptri, 0.05f)); break; case 1: sequence.Append(rectTran.DOLocalMove(righttri, 0.1f)); sequence.Append(rectTran.DOLocalMove(lefttri, 0.05f)); break; case 2: break; } break; /* * case 0: * switch (nowpos)//今の場所 * { * case 0: * break; * case 1: * rectTran.DOLocalMove(uptri, 0.1f); * break; * case 2: * rectTran.DOLocalMove(uptri, 0.1f); * * break; * } * break; * case 1: * switch (nowpos) * { * case 0: * rectTran.DOLocalMove(lefttri, 0.1f); * * break; * case 1: * break; * case 2: * rectTran.DOLocalMove(lefttri, 0.1f); * break; * } * break; * case 2: * switch (nowpos) * { * case 0: * rectTran.DOLocalMove(righttri, 0.1f); * break; * case 1: * rectTran.DOLocalMove(righttri, 0.1f); * break; * case 2: * break; * } * * break; */ } // missansset(nowpos, goal); // triset(); /////////////////////////////////////////////////////////////////////// d_score.combo = 0; Debug.Log("不正解…正解は" + targetpos); } }