 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
05.03.2004, 13:30
|
#1
|
|
TP-Junior
Registriert seit: Feb 2004
|
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(i = 1; i <= iFzge; i++) {
mcFzgListe.createEmptyMovieClip("mcBtnFlyer" + i, j);
j++;
initialization={label:"", clickHandler:""};
mcFzgListe["mcBtnFlyer" + i].attachMovie("FPushButtonSymbol", "flyer_btn" + i, j, initialization);
j++;
with(mcFzgListe["mcBtnFlyer" + i]) {
_x = iFlyerBtnX;
_y = 11 + iYPos;
}
with(mcFzgListe["mcBtnFlyer" + i]["flyer_btn" + i]) {
setSize(75, 20);
setClickHandler("onClick", this);
}
...
}
Danke für Hilfe!
Robyn
|
|
|
05.03.2004, 17:40
|
#2
|
|
TP-Supporter
Registriert seit: Jan 2004
Ort: hyannis
|
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...
|
|
|
05.03.2004, 17:43
|
#3
|
|
TP-Supporter
Registriert seit: Jan 2004
Ort: hyannis
|
ach ich glaub ich habs jetzt verstande, ein bisschen 
in deinem onClick arbeitest du halt mit der variable b...
|
|
|
05.03.2004, 18:54
|
#4
|
|
TP-Junior
Registriert seit: Feb 2004
|
Ö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(i = 1; i <= iFzge; i++) {
...
with(mcFzgListe["mcBtnFlyer" + i]["flyer_btn" + i]) {
setSize(75, 20);
setClickHandler("onClick", this);
onClick = function () {
b = 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?
|
|
|
06.03.2004, 14:57
|
#5
|
|
TP-Supporter
Registriert seit: Jan 2004
Ort: hyannis
|
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
|
|
|
07.03.2004, 12:14
|
#6
|
|
TP-Junior
Registriert seit: Feb 2004
|
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" + i, j);
j++;
pb_init = {label:"PDF öffnen", clickHandler:"", data:inhalt_array[i]["flyer"]};
mcFzgListe["mcBtnFlyer" + i].attachMovie("FPushButtonSymbol", "flyer_pb" + i, j, pb_init);
j++;
with(mcFzgListe["mcBtnFlyer" + i]) {
_x = iFlyerBtnX;
_y = 11 + iYPos;
}
with(mcFzgListe["mcBtnFlyer" + i]["flyer_pb" + i]) {
setSize(10, 10);
setClickHandler("onClick", this);
onClick = function(pb) {
trace(pb.data);
getURL("media/Fahrzeuge/" + _level0.sFlyerFile);
}
}
mcFzgListe["mcBtnFlyer" + i]["flyer_pb" + i].setSize(100, 50);
}
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", j, scroll_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).
|
|
|
08.03.2004, 15:52
|
#7
|
|
TP-Supporter
Registriert seit: Jan 2004
Ort: hyannis
|
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
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:18 Uhr.
|
 |