이제이 질문에 많은 질문을 받게되고, 주제에 대해 많은 조사를 해보았으며, 일부 스크립트를 시도하고 통합 자산 저장소에서 직렬기를 시도했습니다. 하지만 나는 내가 필요한 것을 찾을 수 없다.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에 그의 대본을 볼 수 있습니다. 사전 :
그것은 JSON이 문제에 대한 잔인한 수있는 것, 내가 업데이트 한 내 대답을했습니다. – Imapler