Flashhilfe.de - Flash Community

Bilder aus XML vorladen [Flash 10]

 


AntwortenRegistrieren Seite1  

greemo25#1
Benutzerbild von greemo25
Beiträge: 108
Wohnort: Hannover
Registriert: Jan 2010

24.01.2011, 13:37

Hallo,

ich habe eine XML-Bildergalerie für eine Webseite, funktioniert alles super. Folgende Frage: Kann ich die Bilder aus der XML (Skript auf Bild 5) irgenwie in meinem Preloader für die gesamte Webseite mit vorladen?

Suche schon lange danach, habe aber noch nichts passendes gefunden, außer dies. Allerdings wird hier nur die XML vorgeladen, nicht der Inhalt selbst.

http://www.flashhilfe.de/forum/actionscript-2-0/mehrere-xml-dateien-vorladen-245269-245269.html


Grüße aus Hannover
RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

24.01.2011, 14:08

Prinzipiell geht alles, ist halt die Frage wie Du die XML einliest, und was Du unter vorladen verstehst, alles laden, das nächste, etc.
Fragen über Fragen. Mehr Info gibt besser Antworten.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
greemo25#3
Benutzerbild von greemo25
Beiträge: 108
Wohnort: Hannover
Registriert: Jan 2010

Themenautor/in

24.01.2011, 14:18

Hehe, danke erstmal für die schnelle Antwort.

Also die Bilder werden alle in einen Container geladen. Würde gerne alle(s) vorladen, dass sie also sofort sichtbar sind sobald ich im Bild 5 bin. Aber wie kriege ich denn in meinem Preloader Zugriff auf die XML wenn diese erst in Bild 5 geladen wird?
RustyCake#4
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

24.01.2011, 15:24

Die XML im ersten Bild laden ;-)
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
greemo25#5
Benutzerbild von greemo25
Beiträge: 108
Wohnort: Hannover
Registriert: Jan 2010

Themenautor/in

24.01.2011, 15:30

Wenns so einfach wäre...^^ Dadurch werden die Bilder aus der XML ja auch nicht im eigentlichen Preloader geladen. Ist ja eigentlich auch egal in welchem Bild die liegt, wollte damit nur deutlich machen dass Sie nicht im ersten Bild ist.
Hättest Du noch eine Idee? Im Beispiellink oben ist das ja schon ganz nützlich gemacht, nur WIE kann man statt der XML die Inhalte der XML vorladen?!
skoda#6
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

24.01.2011, 15:55

is nicht egal

also mal das prinzip

1 xml laden damit flash weiss was fuer bilder
2 inhalt der xml in array der alle bilder erhaelt
3 den array an nen asset preloader geben der die alle bilder vorlaedt bevor dein  flash startet
4 gallery startet
no one died when clinton lied
RustyCake#7
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

24.01.2011, 16:00

Hhmm. Ja einfach ist das nicht, habe schon Beispiele hier, wo so was mit xml gemacht wird, aber blicken muss man das halt.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
greemo25#8
Benutzerbild von greemo25
Beiträge: 108
Wohnort: Hannover
Registriert: Jan 2010

Themenautor/in

24.01.2011, 16:06

@skoda

Ah okay, macht Sinn. Aber was meinst Du mit nem asset preloader?
RustyCake#9
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

24.01.2011, 16:09

Wahrscheinlich so was in der Art.
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import com.caurina.transitions.*;
//**
var myBigPictArray:Array = [];
var btnContainerArray:Array = [];
var bigContainerArray:Array = [];
//**
var bilderOrdner:String = null;
var timeline:MovieClip = this;
var firstLoad:Boolean = false;
var transitionInTypes:String = "easeInSine";
var transitionOutTypes:String = "easeOutSine";
var transitionInDelay:Number = 3;
var transitionOutDelay:Number = 3;
var intervalDelay:Number = 5000;
var loaderDelay:Number = 30;
var fadeInMc:MovieClip = null;
var btnMemory:MovieClip = null;
var loadcount:Number = 0;
var diacount:Number = 0;
var inter:Number = null;
//********** hier werden die Nummern_mc generiert **********//
function load_btn() {
     for (i=0; i<myBigPictArray.length; i++) {
        var tlb:MovieClip = timeline.attachMovie("Button_Base", "thumb_btn"+i, timeline.getNextHighestDepth());
        btnContainerArray.push(tlb);
        tlb.stop();
        tlb._x = i*(tlb._width)+Stage.width-(tlb._width*myBigPictArray.length);
        tlb._y = 20;
        tlb.nr_txt.text = i+1;
     }
     create_container();
}
//********** hier werden die Container fü die Bilder generiert, für jedes Bilde einer **********//
function create_container() {
     for (i=0; i<myBigPictArray.length; i++) {
        bigContainerArray.push(timeline.createEmptyMovieClip("big_container"+i, timeline.getNextHighestDepth()));
     }
     load_Bilder();
}
//********** Loader-Funktion, die Bilder "Bild für Bild" lädt, unabhängig von der DiaShow **********//
function load_Bilder():Void {
     var content_mc:MovieClip = bigContainerArray[loadcount];
     content_mc._alpha = 0;
     var was:String = bilderOrdner+myBigPictArray[loadcount];
     var bild_mcl = new MovieClipLoader();
     ObjListener = new Object();
     bild_mcl.addListener(ObjListener);
     bild_mcl.loadClip(was,content_mc);
     var interval:Object = new Object();
     interval.id = setInterval(checkProgress, loaderDelay, bild_mcl, content_mc, interval);
     ObjListener.onLoadInit = function(image:MovieClip) {
        image._x = int((Stage.width-image._width)/2);
        image._y = int((Stage.height-image._height)/2);
     };
     function checkProgress(mcLoader:MovieClipLoader, image:MovieClip, interval:Object):Void {
        var progress:Object = mcLoader.getProgress(image);
        if (progress.bytesLoaded == progress.bytesTotal) {
           if (firstLoad == false) {
              inFade();
              firstLoad = true;
           }
           if (loadcount<myBigPictArray.length-1) {
              loadcount++;
              load_Bilder();
           }
           clearInterval(interval.id);
        }
     }
}
//********** Funktion zum einfaden der Bilder **********//
function inFade():Void {
     clearInterval(inter);
     if (bigContainerArray[diacount] != undefined) {
        btnContainerArray[diacount].gotoAndStop(2);
        btnMemory = btnContainerArray[diacount];
        Tweener.addTween(bigContainerArray[diacount],{_alpha:100, time:transitionInDelay, transition:transitionInTypes, onComplete:function () {
        fadeInMc = bigContainerArray[diacount];
        inter = setInterval(outFade, intervalDelay);
        }});
     } else {
        fileCecker();
     }
}
//********** Funktion zum ausfaden der Bilder **********//
function outFade() {
     clearInterval(inter);
     Tweener.addTween(fadeInMc,{_alpha:0, time:transitionOutDelay, transition:transitionOutTypes, onComplete:function () {
     btnMemory.gotoAndStop(1);
     inFade();
     }});
     diacount<myBigPictArray.length-1 ? (diacount++) : diacount=0;// setzt diacount wieder auf 0, wenn die DiaShow durch ist
}
//********** Funktion die gerufen wird, wenn versucht wird ein Bild zu faden, das noch nicht gespeichert ist **********//
function fileCecker() {
     var tfc:MovieClip = timeline.createEmptyMovieClip("fileCheckMc", timeline.getNextHighestDepth());
     tfc.onEnterFrame = function() {
        if (bigContainerArray[diacount] != undefined) {
           inFade();
           delete this.onEnterFrame;
        }
     };
}
function suck_xml() {
     myXML = new XML();
     myXML.ignoreWhite = true;
     myXML.onLoad = function(aloha:Boolean) {
        if (aloha) {
           bilderOrdner = this.firstChild.childNodes[0].childNodes[0].attributes.ordner;
           for (var i:Number = 0; i<this.firstChild.childNodes[1].childNodes.length; i++) {
              myBigPictArray.push(this.firstChild.childNodes[1].childNodes[i].attributes.big);
           }
           load_btn();
        }
     };
     myXML.load('gallery_xml_as2.xml');
}
suck_xml();
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Ooppsi, xml vergessen.
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<pictures>
<database>
<data ordner = "Bilder/"></data>
</database>
<picbase>
<pict big = "Nasa_10.jpg"></pict>
<pict big = "Nasa_11.jpg"></pict>
<pict big = "Nasa_12.jpg"></pict>
<pict big = "Nasa_13.jpg"></pict>
<pict big = "Nasa_14.jpg"></pict>
<pict big = "Nasa_15.jpg"></pict>
<pict big = "Nasa_16.jpg"></pict>
<pict big = "Nasa_17.jpg"></pict>
<pict big = "Nasa_18.jpg"></pict>
<pict big = "Nasa_19.jpg"></pict>
</picbase>
</pictures>

Ist eine automatische Galerie, müsste man also umbauen.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Geändert von RustyCake am 24.01.11 um 16:11 Uhr
skoda#10
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

24.01.2011, 16:19

http://www.actionscript.org/forums/showthread.php3?t=219477

siehe hier

die greensock asset loader sache is echt gut
no one died when clinton lied
greemo25#11
Benutzerbild von greemo25
Beiträge: 108
Wohnort: Hannover
Registriert: Jan 2010

Themenautor/in

24.01.2011, 16:49

Super, vielen Dank. Hab ich noch nie gehört, aber sieht gut aus.^^

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de