2014-09-01 5 views
0

이제이 질문에 많은 질문을 받게되고, 주제에 대해 많은 조사를 해보았으며, 일부 스크립트를 시도하고 통합 자산 저장소에서 직렬기를 시도했습니다. 하지만 나는 내가 필요한 것을 찾을 수 없다.unity3d에서 저장 /로드

다음 레벨은 이전 레벨을 때리고 잠금을 해제하기 때문에 어느 레벨이 맞았는지 기억해야합니다.로드 할 때 잠금 해제 된 레벨 중 하나를 선택할 수도 있으며 각 레벨에서 가장 높은 점수를 기억해야합니다. 새로운 점수가 더 높을 경우에만 대체되며 낮은 점수는 저장하지 않아도됩니다.

Google에서 계속 찾은 것은 모든 개체와 수준에서 일어난 물건을 저장하는 방법 이었지만 수준 저장은 필요하지 않습니다. 내 수준은 정말 짧고 1 점에서 재생할 ment입니다.

편집 : 플레이어 후 levelIndex에 1을 추가하려는 스크립트 수준 뛰는 플레이어는 시작 메뉴에 부하를 누르면 후 내 목표는 이는, 새로운 메뉴가 나타납니다 플레이어는 수있을 것입니다 잠금 해제 된 모든 레벨 중에서 선택하고 선택하면 레벨이로드됩니다.

#pragma strict 
var normalParticle : ParticleSystem; 
var teleportParticle : ParticleSystem; 
var teleportSound : AudioClip; 
var ignoreListenerPause: boolean; 
// var levelIndex : int; 
function Start() { 
    teleportParticle.Stop(); 
} 

function OnTriggerEnter(other : Collider) 
{ 
    if(other.tag == "Player"){ 
     teleportParticle.Play(); 
     normalParticle.Stop(); 
     for (var o : GameObject in GameObject.FindGameObjectsWithTag("Virus")) 
     { 
      var comp : Component = o.GetComponent(ChaseScript); 
      if (comp != null) 
      { 
       comp.active = false; 
      } 
     } 
     yield WaitForSeconds (0.5); 
     audio.ignoreListenerPause = true; 
     audio.PlayOneShot(teleportSound); 
     yield WaitForSeconds (3.9); 
     //levelIndex++; 
     //PlayerPrefs.SetInt("Last_Level", levelIndex); 
     Application.LoadLevel(Application.loadedLevel+1); 
    } 
} 

function OnTriggerExit(other : Collider) 
{ 

    teleportParticle.Stop(); 
    normalParticle.Play(); 

} 

은 내가 튜토리얼 이전에 내가 원하는 것을 달성하는 방법을 설명 찾았지만이 수준의 많은 게임에 대한 효과적인 아니다 (내가 현재이 문제에 대해 무엇을은 // 라인에) , 그는 레벨 당 스크립트를 사용하고 모든 레벨에 대해 if를 사용합니다. 게임에 약 50 개가 있으므로 더 좋고/깨끗한 방법을 선호합니다. 비디오는 http://forum.unity3d.com/threads/unity-level-unlocking-system-using-playerprefs.146955/입니다. 10:10과 14:14에 그의 대본을 볼 수 있습니다. 사전 :

+0

그것은 JSON이 문제에 대한 잔인한 수있는 것, 내가 업데이트 한 내 대답을했습니다. – Imapler

답변

0

에서

덕분에 데이터가 때

  • 직렬화 진행에 대한 데이터를 보유하는 클래스를 만듭니다 3.

    1. 단계로 건너 뜁니다 하나 또는 두 개의 변수와 같은, 아주 간단 경우 JSON을 가지는 클래스는 문자열
    2. 스토어를 PlayerPrefs의 데이터를 얻을 수

    PlayerPrefs.SetInt("Last_Level", levelIndex); 
    PlayerPrefs.Save(); 
    

    로드

    int levelIndex = PlayerPrefs.GetInt("Last_Level", 0); 
    
  • +0

    답장을 보내 주셔서 감사합니다. 지난 시간 동안이 작업을 시도해 봤지만 json이 너무 복잡해서 지금 당장 저는 json보다 훨씬 더 쉽게 PlayerPrefs를 사용하여 문제를 겪고 있습니다. 내가 온라인으로 읽은 것. 또한 나는 현재 unityscript에서 일하고 있기 때문에 나는 C#에서 json 예제에 대해 찾을 수있는 거의 모든 것을 찾을 수 있기 때문에 # 이 주석에 충분한 문자가 없기 때문에 나는 더 자세한 내용으로 내 질문을 편집 할 것이다. 당신은 내가 그것을 훨씬 쉽게 이해할 수있을 것이라고 생각하는 예제를 제공 할 수있다. :) 미리 감사드립니다. –

    관련 문제