Globale variabler i ActionScript 3
Man kan diskutere hvorvidt globale variabler på store projekter i det hele taget er en god ide, da de hurtigt kan blive svære at holde styr på, men man kommer heller ikke uden om, at de i en del situationer giver mulighed for at spare tid ved at springe over hvor gærdet er lavest - og det gør vi allesammen jo indimellem.
I ActionScript 2 var det nemt at være doven, men kunne bare bruge _global, men i AS3 er der ikke noget tilsvarende objekt, men efter selv at have haft behovet for nyligt fandt jeg en klasse der fuldt ud erstatter _global, så næste gang du er i humør til at være doven, så kan du jo overveje at smutte herhen og læse mere om den:
AS3 Global Object



Thanks for the mention
Cheers
Jeg er absolut ikke tilhænger af denne approach. Har du brug for at gemme data som skal være tilgængelig for hele applikationen, så lav en singleton collection klasse som tilgås statisk.
Denne collection klasse skal styres vha. et Dictionary object som indeholder en custom datatype som fx. CollectionObject og kan fx. tilgås sådan her:
var minData : CollectionObject;
minData = Collection.getObjectByName(”min refererence”);
trace(minData.minVariabel);
Tak for kommentaren!
Som jeg skriver, eller forsøger at skrive, flere gange, så mener jeg heller ikke at brugen af global er good practice, men at vi allesammen springer over hvor gærdet er lavest engang imellem, særligt på mindre projekter.
Du skal i øvrigt være meget velkommen til at lave et godt eksempel på din blog med den metode du nævner, så linker jeg meget gerne til den
@Christian
“Global” er en singleton, og han bruger en hashmap implementation, der er en forlængelse af Dictionary. Det eneste han ikke bruger er typed entries i hans collection?