やまめも

【 ゲーム開発・日々のことについて 】

チュートリアルの例

bool型の変数を作って、最初の一回だけ表示するようにすれば良い

チュートリアル用の番号
public bool isFirstTimePlay{
	get{
		if (ES2.Exists ("_isFirstTime")) {
			return ES2.Load<bool> ("_isFirstTime");
		}else {
			//存在していれば、最初だということでtrueにする。
			return true;
		}
	}
	set{
		ES2.Save (value, "_isFirstTime");
	}
}
public Sprite TutorialTapSprite;
public void SelectCase(int Type){
	if (isFirstTimePlay) {
		Tutorial Gameplay
		int DoorNumber =Case [Type].GetComponentInChildren<SituationManager> ().doorNumber;
		if(DoorNumber <= 2){
			TutorialTapImage.sprite = TutorialTapSprite;
			TutorialTapImage.enabled = true;
			TutorialTapAnim.enabled = true;


			if (DoorNumber == 0) {
				m = Random.Range (0,2);
				if (m == 0) {
					i = 1;
				} else {
					i = 50;
				}
			}
			if (DoorNumber == 1) {
				do{
					m2 = Random.Range (0,2);

				}while(m2 == m);

				if (m2 == 0) {
					i = 1;
				} else {
					i = 50;
				}
			}
			if (DoorNumber == 2) {
			}
		}
		if(DoorNumber > 2){
			//isFirstTimePlay = false;
			TutorialSWImage.enabled = false;
			TutorialTapImage.enabled = false;
			i = Random.Range(0,100);
		}
	}
	else
	{
		//Random GamePlay
		TutorialSWImage.enabled = false;
		TutorialTapImage.enabled = false;
		i = Random.Range(0,100);
	}
}

制御したいものを以下のようにする。

public void AddTime(){
  //チュートリアルだったら、以下の工程を行わないとか。
	if (SituationCreater2.instance.isFirstTimePlay) {
		return;
	}
	else{
		int CountDoor = SituationCreater2.instance.Count;
		if (CountDoor < LevelManager.instance.NumberLevel1){
			PlusTime = 2.5f;
		}
		if (LevelManager.instance.NumberLevel1 < CountDoor && CountDoor <= LevelManager.instance.NumberLevel2){
			PlusTime = 2f;
		}
		if (LevelManager.instance.NumberLevel2 < CountDoor && CountDoor <= LevelManager.instance.NumberLevel3){
			PlusTime = 1.5f;
		}
		if (LevelManager.instance.NumberLevel3 < CountDoor && CountDoor <= LevelManager.instance.NumberLevel4){
			PlusTime = 1f;
		}
		if (LevelManager.instance.NumberLevel4 < CountDoor){
			PlusTime = 0.75f;
		}
		// TimeCount = TimeCount + PlusTime;
		TimeCount += PlusTime;
		StartCoroutine(ShowPlusTime());
	}
}