[Résolu] Application.LoadLevel
[Résolu] Application.LoadLevel
Salut!
J'ai crée une scène 'login' pour charger deux scène différentes. Au moment de test de connection, j'envoi une variable pseudo au fichier php et j'utilise Application.LoadLevel pour charger les différentes scène selon la valeur de la variable renvoyée par ce même fichier. cela fonctionne parfaitement.
Mais j'aimerai que dans le level charger je puisse afficher le pseudo entrée dans le login par l'utilisateur mais je ne trouve rien concernant cette méthode..
Y a t'il un moyen de faire suivre des variables d'une scène a l'autre ou existe t'il une autre méthode pour creer un accès par login
Merci d'avance de votre aide...
J'ai crée une scène 'login' pour charger deux scène différentes. Au moment de test de connection, j'envoi une variable pseudo au fichier php et j'utilise Application.LoadLevel pour charger les différentes scène selon la valeur de la variable renvoyée par ce même fichier. cela fonctionne parfaitement.
Mais j'aimerai que dans le level charger je puisse afficher le pseudo entrée dans le login par l'utilisateur mais je ne trouve rien concernant cette méthode..
Y a t'il un moyen de faire suivre des variables d'une scène a l'autre ou existe t'il une autre méthode pour creer un accès par login
Merci d'avance de votre aide...
Dernière édition par Freelax le 22 Jan 2011 04:47, édité 1 fois.
Re: Application.LoadLevel
tu peux utiliser une variable de type "static" elle sera unique et en memoire quelque soit la scene que tu load.
ou sinon tu as la commande "DontDestroyOnLoad()" qui te permet d avoir des script / object persistent entre les scenes
ou sinon tu as la commande "DontDestroyOnLoad()" qui te permet d avoir des script / object persistent entre les scenes
Re: Application.LoadLevel
Je vais essayer en static!
Merci
Ps: décidément ta toujours une réponse à mes questions Merci beaucoup, vraiment
Merci
Ps: décidément ta toujours une réponse à mes questions Merci beaucoup, vraiment
Re: Application.LoadLevel
J'ai bien essayer les deux méthodes mais je n'y arrive pas. Je ne doit pas m'y prendre comme il faut.
Quand je met, dans mon script login, ma variable pseudo en static, est ce que je doit du coup supprimer l'autre variable pseudo dans mon script de scène? doit elle être unique ou fait on référence à cette variable pseudo du login dans le script de scène?
Je joins un fichier d'exemple que j'ai fait pour essayer de comprendre
Quand je met, dans mon script login, ma variable pseudo en static, est ce que je doit du coup supprimer l'autre variable pseudo dans mon script de scène? doit elle être unique ou fait on référence à cette variable pseudo du login dans le script de scène?
Je joins un fichier d'exemple que j'ai fait pour essayer de comprendre
- Pièces jointes
-
- Load.rar
- Load
- (4.88 Kio) Téléchargé 164 fois
Re: Application.LoadLevel
ta var static doit etre unique et de tte facon elle pourra pas s instancier en static,
ce que tu peu faire c la remplir avec un autre variable qui recup ton pseudo , cette variable elle sera detruite qd tu load mais la static aura toujours la valeur que tu lui a passer ds l'autre scene.
ce que tu peu faire c la remplir avec un autre variable qui recup ton pseudo , cette variable elle sera detruite qd tu load mais la static aura toujours la valeur que tu lui a passer ds l'autre scene.
Re: Application.LoadLevel
Ok je comprend ce que tu m'explique mais j'arrive pas à le mettre en place :
dans l'ordre je fait comme ca :
-> dans login.cs je crée un variable 'PseudoSTATIC' (public static string PseudoSTATIC;)
-> dans scene.cs je crée une variable 'pseudo' (public string pseudo = PseudoSTATIC;)
-> j'affiche dans scene.cs ma variable 'pseudo' dans un textField.
mais j'obtiens ca : The name `PseudoSTATIC' does not exist in the current context
dans l'ordre je fait comme ca :
-> dans login.cs je crée un variable 'PseudoSTATIC' (public static string PseudoSTATIC;)
-> dans scene.cs je crée une variable 'pseudo' (public string pseudo = PseudoSTATIC;)
-> j'affiche dans scene.cs ma variable 'pseudo' dans un textField.
mais j'obtiens ca : The name `PseudoSTATIC' does not exist in the current context
Re: Application.LoadLevel
ds unity tu va acceder a ta pseudoStatic comme ca >> Login.pseudoStatic
la ton message d erreur me fait penser que tu essaye d y acceder simplemnet en ecrivant pseudoStatic
regarde c un example con >>
ici c juste 2 scene et j incremente ma static lorsque je passe ds la scene static2, et ainsi de suite.
je pense que ca devrais fonctionner pareil pour toi ...avec login
la ton message d erreur me fait penser que tu essaye d y acceder simplemnet en ecrivant pseudoStatic
regarde c un example con >>
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class sta1 : MonoBehaviour {
public static int testStatic = 10;
// Use this for initialization
void Start ()
{
print(testStatic);
}
// Update is called once per frame
void Update () {
if(Input.GetKeyDown(KeyCode.A))
Application.LoadLevel("static2");
}
}
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class sta2 : MonoBehaviour {
// Use this for initialization
void Start () {
print(sta1.testStatic += 5);
}
// Update is called once per frame
void Update () {
if(Input.GetKeyDown(KeyCode.A))
Application.LoadLevel("static1");
}
}
je pense que ca devrais fonctionner pareil pour toi ...avec login
Re: Application.LoadLevel
Merci beaucoup de ton aide! ca fonctionne nikel.
J'avais jamais utilisé les static, merci pour l'expliquation
J'avais jamais utilisé les static, merci pour l'expliquation