2016-05-09 8 views
0

私のゲームのメインメニューには、あなたのキャラクターのスキンを選択してゲームに入るセクションがあります。 新しいシーンでPlayerPrefersを使ってPrefabをロードする

は、私が「コントローラアニメーター」&、利用者によって選択され、X-0、Y-0、Z-0で次のシーン「ゲーム」で、それをインスタンス化したPlayerPrefersに「変換」を保存するために苦労しています。

すべてのスキンには、すでに「コントローラ」&が「インスペクタ」に添付されています(添付の図を参照)。

私は次の「ゲーム」シーンでインスタンス化できません。私のスクリップ以下

Menu skin CHOICE

Game SCENE

スキンを選択し、 "ゲーム" を入力します。

あなたは静的な文字列としてプレハブの名前を設定し、次のゲームシーンの冒頭で、それを参照することができ
using UnityEngine; 
using System.Collections; 
using UnityEngine.SceneManagement; 

public class Choice : MonoBehaviour { 

    public RuntimeAnimatorController anim; 
    public Transform Bee; 
    string skinChoice = "skin"; 

    public void ChangeAnimator() { 

     Animator animator = Bee.gameObject.GetComponent<Animator>(); 
     animator.runtimeAnimatorController = anim; 
    } 

    public void Play() 
    { 
     SceneManager.LoadScene ("Game"); 
    } 
} 
+0

を使用してplayerprefsは非常に簡単です:http://docs.unity3d.com/ScriptReference/PlayerPrefs.html – Fattie

答えて

-1

public static string skinchoice = "skin"; 

とCreatorクラス:

public class Creator : MonoBehaviour { 
    void Start(){ 
     if (Choice.skinchoice == "skin1") Instantiate(Bee1); 
     else if (Choice.skinchoice == "skin2") Instantiate(Bee2); 
     ... 
    } 
} 
+1

varuは、一般にUnityで "静的"を使用しません。確かに初心者は決してそうしてはいけません。 ECS設定の意味を理解することはほとんど不可能です。 – Fattie

+0

私はplayerprefsについて知りませんでしたが、別のゲームセッションで使用されていることが分かりましたが、おそらくこれは良い考えです。とにかく、Unityでstaticsを使用してみませんか? – Varu

関連する問題