private void Start() { //初期背景色設定 //NowBackgroundColor = Paint.Int2Name(Random.Range(0, 3)); NowBackgroundColor = Paint.Name.White; Camera.backgroundColor = Paint.GetColor(NowBackgroundColor); //ColorChanger(); }
//ボタンアクション public void RoteChange(Paint.Name RoteColor) { //背景色と同じ色の道には移動できない if (RoteColor != CameraController.NowBackgroundColor) { int RoteNum = (int)RoteColor; //キャスト変換 PlayerTransform.position = MovePos[RoteNum]; //移動 } }//道移動メソッド
//public void ColorChanger(Paint.Name NewColor){ // //色変更 // NowColor = NewColor; // GetComponent<Renderer>().material.color = Paint.GetColor(NowColor); //}//本体色変更メソッド private void Awake() { ////本体色数取得 //BodyColorCount = System.Enum.GetNames(typeof(Paint.Name)).Length; ////ランダムに色を決定 //int FirstColor = Random.Range(0, BodyColorCount); //ColorChanger(Paint.Int2Name(FirstColor)); ET = GetComponentInChildren <Enemy_TankMain>(); NowColor = Paint.Name.Non; }
}//点滅メソッド private IEnumerator Flash(Paint.Name NowColor, Paint.Name NewColor) { //点滅開始 IsFlash = true; //NowBackgroundColor = Paint.Name.Change; //点滅メソッド呼出 yield return(StartCoroutine(Flashing(NowColor, NewColor))); NowBackgroundColor = NewColor; //新しい背景色を登録 GameRoot.RoteBehind(); //道を出現・消滅させる IsFlash = false; //点滅終了 }
private IEnumerator Flashing(Paint.Name NowColorName, Paint.Name NewColorName) { //切り替える2色を取得 Color NowColor = Paint.GetColor(NowColorName); Color NewColor = Paint.GetColor(NewColorName); //変化中の色を保存 Color ChangeColor = new Color(); float FadeTimer = new float(); //フェード中経過時間 float MoveN = FadeTimer / FadeTime[0]; //変化の割合 for (int i = 0; i < FadeCount.Length; i++) { for (int j = 0; j < FadeCount[i]; j++) { while (MoveN < 1) //Now2New { ChangeColor = NowColor * (1 - MoveN) + NewColor * MoveN; Camera.backgroundColor = ChangeColor; FadeTimer += Time.deltaTime; MoveN = FadeTimer / FadeTime[i]; yield return(new WaitForSeconds(Time.deltaTime)); } while (MoveN > 0) //New2Now { ChangeColor = NowColor * (1 - MoveN) + NewColor * MoveN; Camera.backgroundColor = ChangeColor; FadeTimer -= Time.deltaTime; MoveN = FadeTimer / FadeTime[i]; yield return(new WaitForSeconds(Time.deltaTime)); } } } while (MoveN < 1) //Now2New { ChangeColor = NowColor * (1 - MoveN) + NewColor * MoveN; Camera.backgroundColor = ChangeColor; FadeTimer += Time.deltaTime; MoveN = FadeTimer / FadeTime[FadeTime.Length - 1];//配列最後尾のデータを参照 yield return(new WaitForSeconds(Time.deltaTime)); } }//点滅メソッド
public float Speed; //前進速度 public void SetColor(Paint.Name SetColorName) { AttackColor = SetColorName; GetComponent <Renderer>().material.color = Paint.GetColor(AttackColor); }
}//道移動メソッド public void SetAttackColor(Paint.Name AttackColorName) { AttackColor = AttackColorName;//キャスト変換 }