• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Plugin per salvataggio/Caricamento
#1
Ecco a voi il mio primo plugin, è uno script per salvare e vi permette di salvare la posizione (vector3) e rotazione (quaternion) ma anche bool, vi rende il mondo migliore xD
Spero sia di vostro gradimento! Aspetto commenti Wink

Dovete chiamare lo script APlayerPrefs
Codice:
using UnityEngine;
using System.Collections;

public class APlayerPrefs : MonoBehaviour
{
    public static void SaveObjectPosition(string saveName,Vector3 value)
    {
        PlayerPrefs.SetFloat(saveName + "px",value.x);
        PlayerPrefs.SetFloat(saveName + "py",value.y);
        PlayerPrefs.SetFloat(saveName + "pz",value.z);
    }    
    
    public static void SaveObjectRotation(string saveName,Quaternion value)
    {
        PlayerPrefs.SetFloat(saveName + "rx",value.x);
        PlayerPrefs.SetFloat(saveName + "ry",value.y);
        PlayerPrefs.SetFloat(saveName + "rz",value.z);
        PlayerPrefs.SetFloat(saveName + "rw",value.w);
    }

    public static Vector3 LoadObjectPosition(string loadPosition)
    {
        float pX = PlayerPrefs.GetFloat(loadPosition + "px");
        float pY = PlayerPrefs.GetFloat(loadPosition + "py");
        float pZ = PlayerPrefs.GetFloat(loadPosition + "pz");
        return new Vector3(pX,pY,pZ);
    }
    
    public static Quaternion LoadObjectRotation(string loadRotation)
    {
        float rX = PlayerPrefs.GetFloat(loadRotation + "rx");
        float rY = PlayerPrefs.GetFloat(loadRotation + "ry");
        float rZ = PlayerPrefs.GetFloat(loadRotation + "rz");
        float rW = PlayerPrefs.GetFloat(loadRotation + "rw");
        return new Quaternion(rX,rY,rZ,rW);
    }
    
    public static void SetBool(string saveBool,bool valueBool)
    {
        PlayerPrefs.SetInt(saveBool,valueBool?1:0);
    }
    
    public static bool GetBool(string loadBool)
    {
        return PlayerPrefs.GetInt(loadBool)==1?true:false;
    }
}

Per usarlo :

Codice:
var gino : boolean = true;

function Update ()
{
    if(Input.GetKeyDown(KeyCode.A))
    {
        APlayerPrefs.SetBool("newbool",gino);
    }
    
    if(Input.GetKeyDown(KeyCode.B))
    {
        print(APlayerPrefs.GetBool("newbool"));
    }

    if(Input.GetKeyDown(KeyCode.S))
    {
        APlayerPrefs.SaveObjectPosition("playerposition",transform.position);
        APlayerPrefs.SaveObjectRotation("playerrotation",transform.rotation);
    }
    if(Input.GetKeyDown(KeyCode.L))
    {
        transform.position = APlayerPrefs.LoadObjectPosition("playerposition");
        transform.rotation = APlayerPrefs.LoadObjectRotation("playerrotation");
    }
}
 
Rispondi
#2
anche se non capisco niente di programmazione, ma ti faccio i complimenti per quello che hai fatto Wink
 
Rispondi
#3
lol! Grazie Big Grin
 
Rispondi
#4
ok,bello,magari quando imparo a fare le addizioni lo implemento (lol mi sento all'asilo per ora!)ma già sapere che esiste uno script bello pronto mi dà sollievo! Big Grin
 
Rispondi
#5
ottimo o almeno credo perchè nn ho capito bene a cosa serve e dove devo inserirlo
 
Rispondi
#6
scusate la mia ignoranza ma vrei un po di domande:
dove vanno inseriti gli script???
e poi vorrei sapere come faccio a caricare il salvataggio.
grazie e grazie a Killerz per l'ottimo lavoro
 
Rispondi
  


Vai al forum:


Browsing: 3 Ospite(i)