2017-01-26 2 views
0

Je crée une application Android créée avec Flash AS3. L'utilisateur saisira son nom (nom de l'instance nameField), cliquera sur le bouton précédent (btnPrev) et sur le bouton suivant (btnNext), puis sur Enregistrer (btnPrev). Après le redémarrage de l'application, la dernière image enregistrée a été chargée (avec le nom). Cependant, si je souhaite entrer un deuxième utilisateur avec un nom différent et le sauvegarder dans une autre image, la progression de sauvegarde du deuxième utilisateur sera-t-elle conservée (sans supprimer la progression du premier utilisateur?). Le problème, lorsque je tape la progression du nom d'utilisateur précédent et appuie sur load (btnLoad), sa progression enregistrée ne se charge pas. S'il vous plaît aider.AS3/AIR Charger/Enregistrer Progression du nom d'utilisateur

Je suis un débutant en programmation. Voici mon code à ce jour:

*import flash.events.MouseEvent; 


var savedstuff:SharedObject = SharedObject.getLocal("myStuff"); 

btnSave.addEventListener(MouseEvent.CLICK, SaveData); 
btnLoad.addEventListener(MouseEvent.CLICK, LoadData); 
btnNext.addEventListener(MouseEvent.CLICK, pageNext); 
btnPrev.addEventListener(MouseEvent.CLICK, pagePrev); 


function pageNext (e:MouseEvent){ 
    nextFrame(); 
} 

function pagePrev (e:MouseEvent){ 
    prevFrame(); 
} 

function SaveData(MouseEvent){ 
savedstuff.data.username = nameField.text 
savedstuff.flush(); 
} 
function LoadData(MouseEvent){ 
if(savedstuff.size>0){ 
nameField.text = savedstuff.data.username} 
gotoAndStop(savedstuff.data.saveData); 
} 


if(savedstuff.size>0){ 
nameField.text = savedstuff.data.username}* 

Répondre

0

Si je comprends correctement, vous souhaitez enregistrer et savedstuff de charge pour deux utilisateurs différents, non?

Puisque vous sauvegardez toujours tout avec le nom "myStuff", les données seront écrasées chaque fois que vous enregistrez. Si vous voulez que par utilisateur, vous pouvez ajouter le nom d'utilisateur au nom SharedObject:

var savedstuff:SharedObject; 

function SaveData(e:MouseEvent) 
{ 
    var userName:String = nameField.text; 
    savedstuff = SharedObject.getLocal(userName + "myStuff"); 
    savedstuff.data.username = userName; 
    savedstuff.flush(); 
} 

function LoadData(e:MouseEvent) 
{ 
    var userName:String = nameField.text; 
    savedstuff = SharedObject.getLocal(userName + "myStuff"); 
    if(savedstuff.size > 0) 
    { 
     nameField.text = savedstuff.data.username} 
     gotoAndStop(savedstuff.data.saveData); 
    } 
} 
+0

Merci pour la réponse! Hmm, je suis actuellement absent de mon ordinateur portable, j'essaierai plus tard. Ce code chargera-t-il le contenu enregistré de chaque utilisateur qui a utilisé et enregistré dans l'application? De plus, si je tape son nom dans le fichier nameField.text et que j'appuie sur le bouton load, sa progression va-t-elle se charger? Merci! – niagrafallsxxx

+0

Désolé pour la réponse tardive. Oui, c'est l'idée - différents noms d'utilisateurs auront un propre fichier de sauvegarde – Philarmon