SetaPDF
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 05.12.2005, 22:32   #1
TP-Veteran
 
Benutzerbild von Guitar
 
Registriert seit: Nov 2001
Ort: Friedrichshafen am Bodensee
Guitar ist auf einem guten Weg

[MX2004]Dynamisch erzeugte MC mit Aktion belegen


Hi, ich mal wieder!

Ich habe folgendes Skript, mit dem mehrere MCs mit verschiedenen Bildern erzeugt werden. Die Dateinamen kommen aus einer Datenbank und stehen dann im Array 'bilder'.
PHP-Code:
// für jedes Bild einen MC erzeugen
for (i in bilder// bilder: Array mit Dateiname, Bildbreite
{
    
bildname="pic"+i+"_mc";
    
    
_root.filmstrip_mc.createEmptyMovieClip(bildname,i);
    
_root.filmstrip_mc[bildname].loadMovie(bilder[i][0]); 
         
    
breite=bilder[i][1];
    
_root.filmstrip_mc[bildname]._x=i*breite+10;
        
// Ende des Array-Durchlaufs 
Ich muss jetzt den erzeugten MCs eine Aktion zuweisen, sprich: beim Click auf einen der MC soll eine getURL()-Aktion ausgeführt werden (die Zielseiten stehen ebenfalls in der Datenbank).

Gibt es eine Möglichkeit, diese Aktionen während der erzeugung festzulegen?
Oder kann ich mit Hilfe von PHP eine .as-Datei erzeugen, die zur Laufzeit importiert wird? Mit #include wird das ja nicht gehen, oder?
Denn die Anzahl der Bilder wird sich öfter ändern.

Gruß
Wolfgang
__________________
Gruß, Wolfgang

Webdesign Friedrichshafen
Guitar ist offline   Mit Zitat antworten


Alt 06.12.2005, 01:11   #2
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo Guitar

du mußt für die Links auch ein Array erzeugen und zwar so, dass die Bilder und die Linkurl in den jeweiligen Array übereinstimmen.
array_bilder = "bild1","bild2" usw.
array_link = "link1","link2" usw.
und dann erweiterst du deinen Code hiermit:
PHP-Code:
// für jedes Bild einen MC erzeugen
for (i in bilder) {
    
// bilder: Array mit Dateiname, Bildbreite
    
bildname "pic"+i+"_mc";
    
_root.filmstrip_mc.createEmptyMovieClip(bildnamei);
    
_root.filmstrip_mc[bildname].loadMovie(bilder[i][0]);
    
breite bilder[i][1];
    
_root.filmstrip_mc[bildname]._x i*breite+10;
    
//Variable für den MC definieren 
    
_root.filmstrip_mc[bildname].link array_link[i];
    
//Buttonanweisung
    
_root.filmstrip_mc[bildname].onRelease = function() {
        
getURL(this.link"_blank");
    };

__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel

Geändert von Wanderratte (06.12.2005 um 02:19 Uhr).
Wanderratte ist offline   Mit Zitat antworten
Alt 06.12.2005, 14:34   #3
TP-Veteran
 
Benutzerbild von Guitar
 
Registriert seit: Nov 2001
Ort: Friedrichshafen am Bodensee
Guitar ist auf einem guten Weg
Äh, klar, da hätte ich eigentlich auch drauf kommen sollen. Danke!

Ich tu' mir immer noch schwer mit dem Umstiegt von Sprachen wie PHP auf AS, aber so ganz langsam verstehe ich die Sache...
__________________
Gruß, Wolfgang

Webdesign Friedrichshafen
Guitar ist offline   Mit Zitat antworten
Alt 06.12.2005, 14:38   #4
TP-Veteran
 
Benutzerbild von Guitar
 
Registriert seit: Nov 2001
Ort: Friedrichshafen am Bodensee
Guitar ist auf einem guten Weg
Hm, irgendwie funktioniert das nicht. Die MCs können nicht angeklickt werden.
__________________
Gruß, Wolfgang

Webdesign Friedrichshafen
Guitar ist offline   Mit Zitat antworten
Alt 06.12.2005, 18:34   #5
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo

das müsste so gehen.
Guck mal hier, da habe ich ja auch sowas in der Art erstellt.
klick
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 06.12.2005, 21:48   #6
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo

Asche über mein Haupt ich habe an eine Sache nicht gedacht gehabt und zwar das in dem Moment wo ein Bild in dem MC geladen ist, der MC für Flash nicht vorhanden ist. Also hier habe ich etwas getrickst in dem ich einen zweiten MC in den von dir erzeugten erstellt habe. Also bei so kleinen Projekten kann man das machen, aber bei größeren sollte man einen Preloader für die einzelnen Bilder nehmen und erst wenn die geladen sind, kann man die Buttonfuntionen anwenden.

PHP-Code:
// Leeren Movieclip erzeugen
this.createEmptyMovieClip("filmstrip_mc"17000);
// bildnamen aus daten.txt auslesen
this.loadVariables("daten.txt");
this.onData = function() {
    
bilder namen.split(",");
    
breite breiten.split(",");
    
url links.split(",");
    
// für jedes Bild einen MC erzeugen
    
for (a in bilder) {
        var 
xpos:Number 0;
        
bildname "pic"+a+"_mc";
        
filmstrip_mc.createEmptyMovieClip(bildnamea);
        
filmstrip_mc[bildname].createEmptyMovieClip(bildnamea);
        
filmstrip_mc[bildname][bildname].loadMovie("thumbs/"+bilder[a]);
        
//breite=bilder[i][1];
        
for (i=0i<=(a-1); i++) {
            
br Number(breite[i]);
            
xpos += br+10;
        }
        
filmstrip_mc[bildname]._x xpos;
        
// Movieclip mit getURL-Funktion versehen
        //Variable für den MC definieren 
        
filmstrip_mc[bildname].link url[a];
        
trace(bildname);
        
//Buttonanweisung
        
filmstrip_mc[bildname].onRelease = function() {
            
getURL(this.link"_blank");
        };
    }
    
// Ende des Array-Durchlaufs
    
filmstrip_mc._y 5;
    
filmstrip_mc._x 5;
    
// Ende der MC-Erzeugung
};
// Ende onData 
So verbesserungsvorschläge:
_root kannst du rauslassen, da du eh schon auf _level0 bist und _root darauf verweist.
Wenn du bei AS2 und Flash7 bleibst bei der Veröffentlichung solltest du dir den Befehl MovieClip.getNextHighestDepth() einmal anschauen, damit übernimmt Flash die levelverwaltung
Durch einen Preloader könntest du dir die Angabe der Bildergröße ersparen und mit Flash auslesen und anhand dieser dann Positionieren
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash
[MX2004]Dynamisch erzeugte MC mit Aktion belegen [MX2004]Dynamisch erzeugte MC mit Aktion belegen
« Miniclip.com Motherload | scrollmenu - scrollen nur bei mauseintritt »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

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

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:33 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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

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