{lang: 'de'}
Flashhilfe.de - Flash Community

Banner Rotator mit XML (AS2) [Flash CS5]

 


AntwortenRegistrieren Seite1  

matze66g#1
Benutzerbild von matze66g
Beiträge: 3
Registriert: Oct 2010

11.10.2010, 11:47

Hallo liebes Forum,

Ihr habt mir schon viel geholfen bei meinen ersten Schritten mit Flash. Jetzt stehe ich seit ein paar Tagen vor einem etwas größeren Problem, welches über meine Kenntnisse hinaus geht.
Folgendes:
Ich versuche einen Banner-rotator zu erstellen. Die Bilddaten soll er über eine XML beziehen. Nach möglichkeit vollständig dynamisch. Soweit kein Problem. Allerdings sollen alle Bilder vorher geladen werden, damit beim Bildwechsel keine Wartezeiten entstehen. Ich hab es schon versucht, die Daten in ein Array zu laden und dieses dann in einen MC zu spielen, aber irgendwie klappt es nicht. Eine Lösung hatte ich schon, allerdings wurden da auch alle Bilder einzeln nachgeladen. Die Lösung bestand darin, die .swf mit dem Code zum Laden der Bilder in eine anderen .swf zu laden.
Habt ihr vielleicht ein paar Tipps bzw einen Link zu einem guten Tutorial, wo ich hilfe finde.
Hier ein Beispiel, wie es anscheinend nicht geht. Dabei habe ich dort erst mal versucht, die Bilder ohne XML zu laden.
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var myXML:XML = new XML();

myXML.ignoreWhite = true;

myXML.load("files/banner.xml");

myXML.onLoad = function() {
     var urls:Array = new Array();
     for (var i = 0; i<myXML.firstChild.childNodes.length; i++) {
        bilder.push.firstChild.childNodes[i]);
        trace(bilder.length);
     }
}

this.createEmptyMovieClip("con",1);

var index:Number = 0;

var urls:Array = new Array("ident_neff_en.jpg", "ident_watson_en.jpg");

var len:Number = urls.length;

var pause:Number = 5000

function startLoader () {
     _root.mclListener = new Object();
     _root.mcLoader = new MovieClipLoader();
     _root.mcLoader.addListener(_root.mclListener);
     
     _root.mcLoader.loadClip("images/"+_root.urls, _root.con);
     
     mclListener.onLoadInit = function(mc:MovieClip) {
        trace("fertig, beladen wurde "+mc);
        mc._x = int((Stage.width - mc._width)/2);
        mc._y = int((Stage.height - mc._height)/2);
        
        _root.meineID = setIntervall(_root,"weiter",_root.pause);
     }
}

function weiter () {
     trace("Pause beendet");
     
     clearInterval(_root.meineID);
     
     _root.index ++;
     
     if(_root.index == _root.len){
        _root.index = 0;
     }
     _root.mcLoader.loadClip("images/"+_root.urls[index], _root.con);
}

startLoader();

this.stop();



Ich hoffe, ihr versteht wie ich das meine. Erschwerend kommt dann noch hinzu, dass über den Bildern ein Link liegen soll, aber erstmal muss ich die .fla so hinbekommen, dass die Bilder geladen werden.

Ich danke für Eure Hilfe!
Matze
Schlagwörter: AS2, bilder, Dynamisch, Laden, xml
RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

11.10.2010, 13:30