Ahem, sorry, aber eine Funktion innerhalb einer Schleife zu definieren, ergibt keinen Sinn. Der Aufruf der Funktion sollte dort erfolgen, um Dir das komplette switch/case-Konstrukt zu ersparen. Du führst immer die gleiche Aktion auf unterschiedlichen Objekten aus - perfekt für eine for-Schleife...
Und nur am Rande: um von 0 bis 12 zu zählen, brauchst du kein 'unsigned integer'. 'int' tut es hier völlig.
Ohne jetzt den Rest Deiner Programmierung zu kennen, hier mal der Ansatz:
Etwas verschachtelt, aber ich denke, so sollte die Funktionsweise klar werden...
Die Monatsabfrage musst Du natürlich noch irgendwo einbauen.
Und nur am Rande: um von 0 bis 12 zu zählen, brauchst du kein 'unsigned integer'. 'int' tut es hier völlig.
Ohne jetzt den Rest Deiner Programmierung zu kennen, hier mal der Ansatz:
Code:
var zeit:Date = new Date();
var datum:Number = zeit.getDate();
var month:Number = zeit.getMonth();
var tueren:Array = new Array(); // Deine Türchen
init();
function init():void{
// Alle Türchen in ein Array packen, um leichter darauf zugreifen zu können
for (var k:int = 0; k < 12; k++){
var obj:MovieClip = MovieClip(getChildByName("p"+k));
obj.alpha = 1;
tueren.push(obj);
}
}
// Schleife durchläuft alle Türchen bis 'gestern' und öffnet sie
for (var i:int =0; i < datum; i++) {
oeffne(tueren[i]); // siehe weiter unten
}
// Türchen 'heute' wird anklickbar gemacht
var heute:MovieClip = tueren[datum];
heute.buttonMode = true;
heute.addEventListener(MouseEvent.CLICK, clickmich);
// Funktion, die beim Anklicken aufgerufen wird
function clickmich(e:MouseEvent):void {
oeffne(e.target);
}
// Funktion zum Öffnen eines Türchens
function oeffne(obj:MovieClip):void {
// Sofern das die Aktion zum Öffnen ist:
Tweener.addTween(obj, {alpha:0, time:0.5, transition:"easeOutCirc"});
}
Die Monatsabfrage musst Du natürlich noch irgendwo einbauen.