Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-08-2008, 08:21   #1 (permalink)
FlashSamurai
 
Registriert seit: Mar 2004
Ort: Celle
Beiträge: 104
Gültigkeitsbereiche von Variablen?!

Hallo,

in einer Funktion erstelle ich zwei Variablen, von denen eine nur in der Funktion zur Verfügung steht, die andere im gesamten Script. Müssten nicht etwa beide ENTWEDER nur in der Funktion ODER auch darüber hinaus zur Verfügung stehen? Warum unterscheiden sich die Gültigkeisbereiche der Variablen "anz" (überall vorhanden) und bilder[] (nur in der Funktion loader.onload = function() im folgenden Code:

Code:
var loader = new LoadVars();
var bilder = new Array();
loader.onLoad = function(){
	anz = this.anzahl-1;
	// Aanzahl Bilder
	for(var i=0; i<=anz;i++){
		bilder[i] = this["bild"+i];
	}
////// anz vorhanden //////
///// bilder[] vorhanden //////
};
loader.load('slides/readdir.php');
////// anz vorhanden //////
///// bilder[] NICHT vorhanden //////
Wie muss ich obigen Code anpassen, sodass die Variable bilder[] auch außerhalb der Funktion zur Verfügung steht?!??

mfg ted
__________________
Hebt man den Blick,
so sieht man keine Grenzen
teddy86 ist offline   Mit Zitat antworten
Alt 20-08-2008, 08:29   #2 (permalink)
poke
 
Registriert seit: Dec 2002
Ort: Iserlohn [NRW]
Beiträge: 2.304
bilder ist vorhanden, aber leer, weil bilder erst gefüllt wird, wenn der Ladevorgang abgeschlossen ist. Der Code unter loader.load() wird aber trotzdem weiter ausgeführt; der Ladevorgang läuft asynchron im Hintergrund und ruft onLoad auf, sobald alle Daten da sind.
pokepika ist offline   Mit Zitat antworten
Alt 20-08-2008, 19:20   #3 (permalink)
FlashSamurai
 
Registriert seit: Mar 2004
Ort: Celle
Beiträge: 104
aaah, ok danke!

wie münze ich dass jetzt nur auf folgenden code um?
ich hab echt kein plan...

bilder[] wird dann in zeile 30 benötigt. irgendwie muss ja nun bewerkstelligt werden, dass der code nach dem loader.load() erst ausgeführt wird, wenn die readdir.php complett geladen ist oder??

Code:
var bilder = new Array();
var loader = new LoadVars();
loader.onLoad = function(){
	anz = this.anzahl-1;
	// Aanzahl Bilder
	for(var i=0; i<=anz;i++){
		bilder[i] = this["bild"+i];
	}
};

loader.load('fileadmin/slides/readdir.php');

var tl = this;
var i = -1;

var bildpause = 8;
// Pause zwischen dem Laden
tl.createEmptyMovieClip("watcher", 0);
tl.createEmptyMovieClip("loader1", 1);
tl.createEmptyMovieClip("loader2", 2);
function nextPic() {
	i = i<anz ? ++i : 0;
	clearInterval(tl.iv);
	if (mc != tl.loader1) {
		mc = tl.loader1;
	} else {
		mc = tl.loader2;
	}
	mc._alpha = 0;
	mc.swapDepths(2);
	mc.loadMovie("fileadmin/slides/" + bilder[i]);
	tl.watcher.onEnterFrame = function() {
		if (mc.getBytesLoaded()>=mc.getBytesTotal() && mc.getBytesLoaded()>4) {
			if (mc._alpha<100) {
				mc._alpha += 5;
			} else {
				delete this.onEnterFrame;
				tl.iv = setInterval(nextPic, bildpause*1000);
			}
		}
	};
}
// 
nextPic();
vielen dank
ted
__________________
Hebt man den Blick,
so sieht man keine Grenzen
teddy86 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele