0
これは、あるレベルが開始されたときに、プレハブをクローンするためのインデックスをランダムに生成していたゲームです。プレイヤーが 'try again'ボタンを押したときにシーンをリロードする必要がありますが、それでも前のプレハブ(インデックスで取得され、シーンが開始されるとインデックスはランダムに生成されます)をクローンする必要があります。ゲームはランダムに生成された再試行ボタンを?実装に行うための最善の方法。ランダム生成インデックスを再ロードせずにシーンをリロードする方法は?
これは私のスクリプト
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
public class RandomControl : MonoBehaviour {
public List<GameObject> prefabBG = new List<GameObject>{};
GameObject newObject;
public static int randomIdx = -1;
public static bool isCloned = false;
public void Awake() {
GenerateRandom();
}
void Start()
{
isCloned = false;
}
void Update(){
GenerateRandom();
}
void GenerateRandom(){
if (randomIdx == -1) {
randomIdx = Random.Range (0, prefabBG.Count);
}
if (randomIdx > -1 && isCloned == false) {
Destroy (newObject);
GameObject randomBG = prefabBG [randomIdx];
newObject = Instantiate (randomBG) as GameObject;
newObject.transform.SetParent (gameObject.transform, false);
isCloned = true;
}
}
void Restart(){
}
}
私は私が私の種子をシリアライズする必要があることを得るが、上記のスクリプトに基づいて、どのように(randomIndx)シリアル化しますか? – Critics
コードベースにアクセスできないので、どのようにするのが最適かは言えません。私は通常、シードやその他のデータを保持するために(上記の方法で)シーン間で何らかのコントローラのgameオブジェクトをアクティブにしています。それはあなたが求めていることですか? – Augure