Flashhilfe.de - Flash Community

Mitlaufende Bildnummer Bildgallery [Flash 10]

 


AntwortenRegistrieren Seite1  

quicksnake#1
Benutzerbild von quicksnake
Beiträge: 38
Wohnort: Daheim
Registriert: Mar 2004

08.12.2010, 20:49

Hallo, ich habe das Problem, dass ich einen automatischen Bildwechsel ersttelt und dabei die bildnummern anzeigen moechte. Die Nummern von 1 - x stehen dabei wie an einer Schnur aufgereiht. Ein farbliches Rechteck soll dann immer bei dem Bildwechsel an die entsprechende Zahl, also +1 weiter wechseln.

Aehnlich dem Besipiel hier in der Animation.

http://www.panasonic.de/html/de_DE/Home/9524/index.html

Hatte jemand schon so ein Problem?

Gruss
RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

08.12.2010, 22:26

Ist doch nur ein MovieClip der bei klick die Farbe wechselt!
Wo ist jetzt Dein Problem, dazu fehlt die Beschreibung.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
quicksnake#3
Benutzerbild von quicksnake
Beiträge: 38
Wohnort: Daheim
Registriert: Mar 2004

Themenautor/in

08.12.2010, 22:30

ok, das sollte in einer endlosschleife laufen. Die bilder werden eingefadet, das klappt. Nur die Frage ist eben, wie zaehle ich die zahlen um eins weiter und blende diese ein.
RustyCake#4
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

08.12.2010, 23:12

Dann zeig mal was Du schon hast, Script der Galerie zb.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
quicksnake#5
Benutzerbild von quicksnake
Beiträge: 38
Wohnort: Daheim
Registriert: Mar 2004

Themenautor/in

09.12.2010, 13:59

Das habe ich verwendet im ersten Frame.


import mx.transitions.*;


//leeren MC erstellen
this.createEmptyMovieClip("con", this.getNextHighestDepth());
//zuerst transparent setzen
this.con._alpha = 0;

//Zähler
var index:Number = 0;

//Liste der Bilder
var urls:Array = new Array("000243DE.jpg","000243DF.jpg","000243E0.jpg","000243E1.jpg","000243DD.jpg");

//Anzahl der Bilder ermitteln über Länge des Arrays
var len:Number = urls.length;

//5 Sekunde = 5000 Millisekunden Pause zwischen den Bildern
var pause:Number = 5000;

//einen Text erzeugen
_root.createTextField("text1_txt", this.getNextHighestDepth(), 15, 300, 1, 1);

_root.text1_txt.autoSize = true;
_root.text1_txt.selectable = false;

meinTextformat = new TextFormat();
meinTextformat.font = "Arial";
meinTextformat.color = 0xffffff;
meinTextformat.size = 10;
meinTextformat.bold = true;
_root.text1_txt.text = "Mein neuer Text steht hier"; 
_root.text1_txt.setTextFormat(meinTextformat);

function startLoader(){
    //Lauscher und MovieClipLoader-Instanz erstellen
    _root.mclListener = new Object();
    _root.mcLoader = new MovieClipLoader();
    _root.mcLoader.addListener(_root.mclListener);   

    //und das erste Bild laden
    _root.mcLoader.loadClip("/files/"+_root.urls[index], _root.con);


    //Bild ist geladen und MC wurde befüllt:
    mclListener.onLoadInit = function(mc:MovieClip) {
        trace("fertig, beladen wurde "+mc);
       
        //MC auf die Bühnen-Mitte setzen:
        mc._x = int((Stage.width - mc._width)/2);
        mc._y = int((Stage.height - mc._height)/2);
        _root.fader(mc,true);
       
    }    
}
 
function fader(mc,blende){
   //mc ist das ein- oder auszublendende Objekt
   //blende ist true oder false, d.h. blendet ein oder aus
    if(blende){
      //einblenden von alpha=0 bis alpha=100 in 0,6 Sekunden
      var tw1:Tween = new Tween(mc, "_alpha", mx.transitions.easing.None.easeNone, 0, 100, 0.6, true);
      tw1.onMotionFinished = function() {//wenn ausblenden beendet...
        _root.meineID = setInterval(_root,"weiter",_root.pause);//5 Sek Pause
      }
   }
   else{//ausblenden
      var tw2:Tween = new Tween(mc, "_alpha", mx.transitions.easing.None.easeNone, 100, 0, 0.6, true);
      tw2.onMotionFinished = function() {//wenn ausblenden beendet...
        _root.folgefilm();//nächsten Film laden und einblenden
      }
   }
}

//Intervall ist beendet
function weiter(){
    trace("Pause beendet");
   
    //Intervall wieder löschen
    clearInterval(_root.meineID);
   
    //aktuelles Bild ausblenden
    _root.fader(_root.con,false);
   
}

function folgefilm(){
    trace("folgefilm");
     _root.index++;
    
    //checken, ob das letzte Bild erreicht wurde
    if(_root.index == _root.len){
        //letztes Bild wurde gezeigt, wieder mit dem ersten Bild starten = Loop
        _root.index = 0;
    }
    _root.mcLoader.loadClip("/files/"+_root.urls[index], _root.con);
   
}


startLoader();

this.stop();
Geändert von quicksnake am 09.12.10 um 19:39 Uhr
skoda#6
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

09.12.2010, 18:02

nur mal so vom prinzp

du zaehlst wie viele nodes deine xml hat oder hier wie lang dein array ist

dann mit ner for schleife erzeugs du den mc der ein dynamisches textfeld enthaelt
eben so viel wie dein array lang ist

und dann nur noch on roll over und roll out fuer deinen mc

die x postition kannst du mit jedem erzeugten mc in deiner for schleife +abstand anordnen lassen
no one died when clinton lied
Geändert von skoda am 09.12.10 um 18:03 Uhr
RustyCake#7
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

09.12.2010, 19:27

Kein schöner Loader :-)

Ne Idee hätte ich schon, weiss nur nicht wie ich das bei Dir einbauen könnte!

Ich überleg mir was.

Kleiner Tip am Rande, so was "**********" solltest Du nicht Posten.
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 10.12.10 um 12:10 Uhr
quicksnake#8
Benutzerbild von quicksnake
Beiträge: 38
Wohnort: Daheim
Registriert: Mar 2004

Themenautor/in

09.12.2010, 19:41

Oha, dass habe ich irgendwie uebersehen danke. Ich grueble gerade an dem Vorschlag von skoda. Zum Loader ist mir nix besseres eingefallen und es ging bisher. Dazulernen tu ich mich aber gern...
RustyCake#9
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

10.12.2010, 15:15

Nur das Du kein RollOver und RollOut benutzen willst.
Das muß bei dir ja automatisch gehen.

Nochmal wegen der Firma, da hat es in einem anderen Forum , einen User mal richtig auf die Fresse gelegt, als der Auftraggeber, über Google auf so einen Link gestoßen ist!
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
RustyCake#10
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

10.12.2010, 18:08

Schreib mir wenn Du noch eine Lösung brauchst, ich könnte eine von meine Geschichten umbauen.
Mit Deinem Loader würde ich das nicht so gerne machen.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
quicksnake#11
Benutzerbild von quicksnake
Beiträge: 38
Wohnort: Daheim
Registriert: Mar 2004

Themenautor/in

10.12.2010, 22:34

Ich hab's leider nicht hinbekommen und stecke in ner Sackgasse.
Geändert von quicksnake am 11.12.10 um 00:01 Uhr
RustyCake#12
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

10.12.2010, 22:47

morgen früh dann, hab das ding schon, muß mich aber um meinen sohn kümmern.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
RustyCake#13
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

11.12.2010, 12:33

Servus
Also Du brauchst in der Bibliothek eine MovieClip "Button_Base" == der Verknüpfungs-Bezeichner.
Der braucht zwei Frames, und zwei Ebenen, eines für ein Dynamisches Textfeld, Instanzname --> "nr_txt",
das über die zwei Frames gehen muß, und noch zwei Backround-Bilder, in der Farbe Deiner wahl,
in Frame 1 der Normalzustand , in Frame 2 der für das gerade gezeigte Bild.
In dem Beispiel, werden für jedes Bild, ein eigener Container generiert, und der gesammte Content Seriel vorgeladen,
ein Bild nach dem anderen, wenn das erste Bild geladen ist, startet die DiaShow.
Der ganze Content, wird in Array's geschoben, so das das alles nicht wieder geladen werden muß.
Das Ding läuft in jedem Mc, auch verschachtelt, da ich mich hier nicht auf "_root" beziehe.
Ich habe das jetzt in AS2 geschrieben, ob wohl oben AS3 steht, da Dein Beispielscript in AS2 ist.
Ich benutze hier auch nicht, die Tween-Klasse von Flash, weil die für den Popo ist.
Wenn Du XML, nicht nutzen willst, schreib die JPG's in das Array --> "myBigPictArray".
Und den Pfad, zum Bilder-Ordner, hier rein --> "bilderOrdner".
Download_Link --> caurina-tweener -->  http://code.google.com/p/tweener/.
Demolink --> zu dieser Galerie --> http://www.kenshodev.com/serialloader/index.html

In das Script brauchst eigentlich nichts rein schreiben, lässt sich alles mit dem Variablen-Block erledigen.
Müßte auch egal sein wie groß die Bühne ist.
Eigentlich war das Ding hier komplett über XML gesteuert, aber das wäre des guten zu viel an dieser stelle ;-)
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();
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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>
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
RustyCake#14
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

28.01.2011, 13:34

Update:: ------------------------------------------------------------------------->
Die Nummerierung wird jetzt auch gefadet, alles neue ist markiert.
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
120
121
122
123
124
125
126
127
128
129
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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;
//** NEU ---------------------------->
var btnStartAlpha:Number = 30;//** NEU
//** NEU ---------------------------->
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;
        //** NEU ----------------------------------------->
      btnContainerArray[i]._alpha = btnStartAlpha;//** NEU
      //** NEU ----------------------------------------->
   }
     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) {
        //** NEU ------------------------------------------------------------------------------------------------------------->
      Tweener.addTween(btnContainerArray[diacount],{_alpha:100, time:transitionInDelay, transition:transitionInTypes});//** NEU
      //** NEU ------------------------------------------------------------------------------------------------------------->
      Tweener.addTween(bigContainerArray[diacount],{_alpha:100, time:transitionInDelay, transition:transitionInTypes, onComplete:function () {
        btnMemory = btnContainerArray[diacount];
        fadeInMc = bigContainerArray[diacount];
        inter = setInterval(outFade, intervalDelay);
        }});
     } else {
        fileCecker();
     }
}
//********** Funktion zum ausfaden der Bilder **********//
function outFade() {
     clearInterval(inter);
     //** NEU --------------------------------------------------------------------------------------------------------->
   Tweener.addTween(btnMemory,{_alpha:btnStartAlpha, time:transitionOutDelay, transition:transitionOutTypes});//** NEU
   //** NEU --------------------------------------------------------------------------------------------------------->
   Tweener.addTween(fadeInMc,{_alpha:0, time:transitionOutDelay, transition:transitionOutTypes, onComplete:function () {
     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();
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"

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   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2020 Sebastian Wichmann - Flashhilfe.de