X
XarX
Guest
Seid herzlich gegrüßt,
nachdem ich schon länger nach der Lösung für folgendes Problem suche, frage ich mal hier um Rat.
Ich oute mich direkt schonmal als AS3-Neuling.
In meinem neusten Websiteprojekt lädt eine main.swf mit Menüinterface die Unterseiten in einen Platzhalter MovieClip. Damit der Betrachter zwischendurch keine weiße Seite angezeigt bekommt, schickt ein loader Prozentzahlen an eine Textbox. Das geht auch alles wunderbar, wenn man immer brav auf die zu ladende Seite wartet. Aber wehe man klickt während des Ladevorgangs einer Unterseite auf den Button für eine andere. Dann wird zwar der Preloader zunächst zurückgesetzt, zählt aber auch mal über die hundert hinaus und geht manchmal gar nicht mehr weg, selbst wenn die zuletzt angeforderte Seite angezeigt wird. Liegt es daran, dass die zuerst angeforderte Seite nie angezeigt wurde?
Folgendes Skript liegt auf Frame 1:
Die Buttons fordern die jeweilige Unterseite wie folgt an:
Ich hoffe, jemand kann mir weiterhelfen.
Falls man sowas grundsätzlich irgendwie anders macht, wäre ich natürlich auch sehr froh wenn mir jemand sagen könnte wie es besser geht.
Vielen Dank im Voraus!
nachdem ich schon länger nach der Lösung für folgendes Problem suche, frage ich mal hier um Rat.
Ich oute mich direkt schonmal als AS3-Neuling.
In meinem neusten Websiteprojekt lädt eine main.swf mit Menüinterface die Unterseiten in einen Platzhalter MovieClip. Damit der Betrachter zwischendurch keine weiße Seite angezeigt bekommt, schickt ein loader Prozentzahlen an eine Textbox. Das geht auch alles wunderbar, wenn man immer brav auf die zu ladende Seite wartet. Aber wehe man klickt während des Ladevorgangs einer Unterseite auf den Button für eine andere. Dann wird zwar der Preloader zunächst zurückgesetzt, zählt aber auch mal über die hundert hinaus und geht manchmal gar nicht mehr weg, selbst wenn die zuletzt angeforderte Seite angezeigt wird. Liegt es daran, dass die zuerst angeforderte Seite nie angezeigt wurde?
Folgendes Skript liegt auf Frame 1:
Code:
var swfLoader:Loader = new Loader();
// fügt die geladenen swf in den Movieclip conbox ein
conbox.addChild(swfLoader);
// alle Links der Unterseiten
var homeURL:URLRequest = new URLRequest("Unterseiten/home.swf");
var aboutURL:URLRequest = new URLRequest("Unterseiten/about.swf");
// die beiden Lauscher
swfLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadProdComplete);
// Die Homeseite wird standardmäßig sofort geladen
swfLoader.load(homeURL);
// die Funktionen, was wann zu tun ist:
function loadProgress(event:ProgressEvent):void
{
var percentLoaded:Number = event.bytesLoaded / event.bytesTotal;
percentLoaded = Math.round(percentLoaded * 100);
this.percentLoaded.text = String(uint(percentLoaded)) + "%";
// die Ladeanzeige wird sichtbar gemacht
this.USLadetext.visible = true;
this.percentLoaded.visible = true;
}
function loadProdComplete(e:Event):void {
trace("file loaded");
this.USLadetext.visible = false;
this.percentLoaded.visible = false;
}
Code:
button1.addEventListener(MouseEvent.MOUSE_UP, onBtn1Release);
function onBtn1Release(e:MouseEvent):void{
swfLoader.load(homeURL);
}
Falls man sowas grundsätzlich irgendwie anders macht, wäre ich natürlich auch sehr froh wenn mir jemand sagen könnte wie es besser geht.
Vielen Dank im Voraus!