Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 05.03.2004, 13:30   #1
TP-Junior
 
Registriert seit: Feb 2004
Robyn macht alles soweit korrekt

Einer mit setClickHandler deklarierten Funktion Werte übergeben?


Hallo,

ich erstelle in AS eine Reihe von PushButtons und definiere für sie mit setClickHandler eine onClick-Funktion, wie z. B. von lp400 hier http://www.flashforum.de/forum/showt...threadid=72767 erklärt.

Jeder PushButton soll dann ein bestimmtes PDF-File öffnen, der Filename kommt aus einer Textdatei, die im allerersten Frame eingelesen wird.

Die Funktion onClick habe ich nur einmal definiert, ganz am Anfang. Oder ist es nötig, für jeden PushButton die onClick-Funktion zu definieren?

Und die eigentliche Frage: Wie macht man das, dass bei Klick auf einen Button ein bestimmter Wert an die onClick-Funktion übergeben wird, in dem Fall einen filenamen?? Im Grunde muss ich ja jedem Button einen filenamen irgendwie als Eigenschaft oder so zuweisen, damit er "weiß", welches file bei Click halt geöffnet werden soll.

Hier die betreffenden AS-Zeilen bisher:

PHP-Code:
onClick = function () {
    
trace(_level0.j);
}

...

for(
1<= iFzgei++) {
    
mcFzgListe.createEmptyMovieClip("mcBtnFlyer" ij);
    
j++;
    
initialization={label:""clickHandler:""};
    
mcFzgListe["mcBtnFlyer" i].attachMovie("FPushButtonSymbol""flyer_btn" ijinitialization);
    
j++;
    
    
with(mcFzgListe["mcBtnFlyer" i]) {
        
_x iFlyerBtnX;
        
_y 11 iYPos;
    }

    
with(mcFzgListe["mcBtnFlyer" i]["flyer_btn" i]) {
        
setSize(7520);
        
setClickHandler("onClick"this);
    }
    ...

Danke für Hilfe!
Robyn
Robyn ist offline   Mit Zitat antworten


Alt 05.03.2004, 17:40   #2
TP-Supporter
 
Benutzerbild von hesa
 
Registriert seit: Jan 2004
Ort: hyannis
hesa macht alles soweit korrekt
du sagst den button in nem on(press) as, das einer variable der dateiname "dateiname1" zugeordnet wird.
also
root.b = "pdfdokument1"

später, ich seh nicht so recht bei deinem script durch, sagst du dem flash das das dokument root.b geöffnet werden soll...
ich hoffe ich hab dich richtig verstanden, und konnte dir helfen bzw auf ne idee bringen...
__________________

cya hesa |||:::>>> join
http://www.hesaworld.com

__________________
hesa ist offline   Mit Zitat antworten
Alt 05.03.2004, 17:43   #3
TP-Supporter
 
Benutzerbild von hesa
 
Registriert seit: Jan 2004
Ort: hyannis
hesa macht alles soweit korrekt
ach ich glaub ich habs jetzt verstande, ein bisschen
in deinem onClick arbeitest du halt mit der variable b...
__________________

cya hesa |||:::>>> join
http://www.hesaworld.com

__________________
hesa ist offline   Mit Zitat antworten
Alt 05.03.2004, 18:54   #4
TP-Junior
 
Registriert seit: Feb 2004
Robyn macht alles soweit korrekt
Öh, ok, logisch eigentlich... :-) Vor lauter Bäumen hab ich den Wald nicht mehr gesehen.

Aber inzwischen ist mir ein anderer Fehler aufgestoßen. Die Funktion onClick ist, wenn ich das richtig verstehe, ja immer an eine Instanz des PushButtons gebunden. Daher erschien es mir logischer, die Funktion so zu definieren:

PHP-Code:
for(1<= iFzgei++) {
    ...
    
with(mcFzgListe["mcBtnFlyer" i]["flyer_btn" i]) {
        
setSize(7520);
        
setClickHandler("onClick"this);

        
onClick = function () {
            
= eval("flyer" i); // in den Variablen flyer1, ..., flyern steht jeweils der PDF-Dateiname drin
            
trace(b);
            
getURL("media/Fahrzeuge/" b);
        }    
    }

Nun ist es aber so: Egal auf welchen Button ich klicke - es wird offenbar immer die zuletzt definierte onClick-Funktion ausgeführt! Wo liegt da der Fehler?
Robyn ist offline   Mit Zitat antworten
Alt 06.03.2004, 14:57   #5
TP-Supporter
 
Benutzerbild von hesa
 
Registriert seit: Jan 2004
Ort: hyannis
hesa macht alles soweit korrekt
wahrscheinlich weil das setClicandler("onClick", this); schon aufgerufen wird befor die neue variable unten festgelegt wird, und somit mit der alten arbeitet?!?! ich bin mir nicht so sicher, ich versteh den script nicht so recht
__________________

cya hesa |||:::>>> join
http://www.hesaworld.com

__________________
hesa ist offline   Mit Zitat antworten
Alt 07.03.2004, 12:14   #6
TP-Junior
 
Registriert seit: Feb 2004
Robyn macht alles soweit korrekt
Hi,

inzwischen wurde mich geholfen. ;-) So geht's jetzt:

Ein paar Frames vor dem folgenden Script wird eine Textdatei mit den Daten (Typ, PDF-File usw.) eingelesen und in inhalt_array eingestellt.
PHP-Code:
// Movieclip mit Fahrzeugeliste erstellen
createEmptyMovieClip("mcFzgListe"10);
j                        11// depth-Zähler
sFlyer            "Prospekt ansehen";
sPL                    "Preisliste ansehen";
iFlyerBtnX    389;

for(
i in inhalt_array) {
    
sTyp                inhalt_array[i]["typ"];
    
sJpgFile        inhalt_array[i]["tn"];
    
sFlyerFile    inhalt_array[i]["flyer"];
    
sPLFile            inhalt_array[i]["pl"];
    ...
    
// Button, um PDF zu öffnen
    
mcFzgListe.createEmptyMovieClip("mcBtnFlyer" ij);
    
j++;
    
pb_init = {label:"PDF öffnen"clickHandler:""data:inhalt_array[i]["flyer"]};
    
mcFzgListe["mcBtnFlyer" i].attachMovie("FPushButtonSymbol""flyer_pb" ijpb_init);
    
j++;

    
with(mcFzgListe["mcBtnFlyer" i]) {
        
_x iFlyerBtnX;
        
_y 11 iYPos;
    }

    
with(mcFzgListe["mcBtnFlyer" i]["flyer_pb" i]) {
        
setSize(1010);
        
setClickHandler("onClick"this);

        
onClick = function(pb) {
            
trace(pb.data);
            
getURL("media/Fahrzeuge/" _level0.sFlyerFile);
        }    
    }
    
mcFzgListe["mcBtnFlyer" i]["flyer_pb" i].setSize(10050);

So, damit wird zur Laufzeit im MC mcFzgListe halt dynamisch eine Liste aufgebaut, die Buttons enthält und jeder Button öffnet ein spezifiertes PDF-File.

Nun noch zwei offene Fragen:
1. Wenn der Mauszeiger über die PushButtons fährt, ändert er sich nicht, bleibt also Pfeilform. Natürlich sollte er die Handform annehmen. Wie kann man das noch hinkriegen?

2. Den MC mcFzgListe muss ich noch in ein ScrollPane packen. Ich hab's mit
PHP-Code:
scroll_init={scrollContent:"mcFzgListe",hScroll:false,vScroll:true,dragContent:false};
attachMovie("FScrollPaneSymbol""scroll_sp"jscroll_init);
j++;
scroll_sp.setScrollContent("mcFzgListe");
scroll_sp.setSize(200,200);
scroll_sp._x 100;
scroll_sp._y 20
versucht, klappt aber nicht. Der MC mcFzgListe steht auf der Bühne, aber das ScrollPane nicht. Wo könnte der Fehler liegen? Natürlich liegt die ScrollPane-Komponente in der Library vor.

Grüße
Robyn

Geändert von Robyn (07.03.2004 um 12:24 Uhr).
Robyn ist offline   Mit Zitat antworten
Alt 08.03.2004, 15:52   #7
TP-Supporter
 
Benutzerbild von hesa
 
Registriert seit: Jan 2004
Ort: hyannis
hesa macht alles soweit korrekt
tja da kann ich jetzt auch nicht helfen, ich hab zur zeit auch ein problem wo ne scrollbar net funzt... benutz am besten die such-funktion
__________________

cya hesa |||:::>>> join
http://www.hesaworld.com

__________________
hesa ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash
Einer mit setClickHandler deklarierten Funktion Werte übergeben? Einer mit setClickHandler deklarierten Funktion Werte übergeben?
« Anfängerfrage: Browsersounds bei Schaltflächen deaktivieren ? | Film wird im Frame nicht richtig abgespielt »

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 05:18 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