Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-07-2005, 11:09   #1 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Daten dynamisch formatiert darstellen und anklickbar machen

In einem Movieclip "events" sollen dynamisch Daten angezeigt werden, die sich in einem mehrdimensionalem Array befinden.
Das Array ist folgendermaßen aufgebaut:
events[i]["id"]
events[i]["eventtitle"]
events[i]["startdate"]
events[i]["enddate"]
events[i]["city"]

Der Movie Clip "events" ist 170px breit.
Wie kann ich die Daten nun dynamisch anzeigen lassen, so das die Formatierung wie folgt ist(Beispiel):

12.08.2005 - 13.8.2005
Meeting 1
Dortmund

/* Zwischen den Daten soll ausreichend Abstand ein, so dass man sie auseinander halten kann */

19.08.2005 - 20.8.2005
Meeting 2
Berlin

// etc

Nun soll Meeting 1 und 2 aber anklickbar gemacht werden, so dass die Details in einem Movieclip "details" erscheinen.
Ich habe keine Ahnung wie ich das angehen kann. Wer kann mir bitte helfen.

Geändert von compuboy1010 (06-07-2005 um 11:41 Uhr)
compuboy1010 ist offline   Mit Zitat antworten
Alt 06-07-2005, 12:18   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Wenn etwas anklickbar sein soll, erstell zur Laufzeit mit createEmptyMovieClip leere MCs. In diese MCs kannst du dann zur Laufzeit mit createTextfield und den Textformatierungen deine Textfelder anlegen.

Unter "Suchen" findest du entsprechende Lösungen...
  Mit Zitat antworten
Alt 06-07-2005, 12:25   #3 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Zitat:
Zitat von agedoubleju
Unter "Suchen" findest du entsprechende Lösungen...
Hättest du mal ein Suchwort für mich?Aber wie geht das mit dem "anklickbar"?
Normalerweise erstelle ich MCs per Hand und dann bekommt jeder einen event handler in der Zeitleiste

mc.onRelease = function():VOid {
// etc
}

Aber wenn ich die MCs dynamisch erstelle, wie geht das dann mit den event handlern?

Geändert von compuboy1010 (06-07-2005 um 12:29 Uhr)
compuboy1010 ist offline   Mit Zitat antworten
Alt 06-07-2005, 12:29   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Stehen doch im Post... createTextfield, createEmptyMovieClip etc.
  Mit Zitat antworten
Alt 06-07-2005, 12:51   #5 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Danke für deine Antwort.

Habe ein einziges brauchbares Thema gefunden, in dem jemand Schaltflächgen dynamsich erstellen will.

Also ich hatte mir das folgendermaßen gedacht:

Ich erstelle per Hand einen Movie Clip mit den entsprechenden Textfeldern und einem weiteren Movie Clip in diesem, der anklickbar wird.

Dann teste ich wieviele Daten vorliegen und packte in eine Schleife ein attachMovie("event", "event"+i, 0)
In dieser Schleife weise ich dann den Textfeldern und dem inneren anklickbaren MC die Beschriftugen zu.

Nur wie ist das dann mit den EventHandlern ? Ich brauche ja einen für jeden inneren MC. Aber das ganze ist doch dynamisch?
Wie erzeugt man dynamsich Event Handler?
compuboy1010 ist offline   Mit Zitat antworten
Alt 06-07-2005, 13:39   #6 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Also soweit bin ich nun.


Aber warum ist nicht zu sehen?
ActionScript:
  1. function displayEvents(aEvents:Array):Void {
  2.        var x:Number = 0 ;
  3. var y:Number = 20;
  4.             for (var i:Number = 0; i < aEvents.length; i++) {          
  5.                 mc_events.attachMovie("mc_event", "event"+i, getNextHighestDepth());
  6.                 mc_events["event"+i]._x = 0;
  7.                 mc_events["event"+i]._y += 50;
  8.                 mc_events["event"+i].mc_title.txtTitle = aEvents[i]["eventtitle"];
  9.                 mc_events["event"+i].txtCity = aEvents[i]["city"];
  10.                 mc_events["event"+i].txtDate = aEvents[i]["startdate"] + " - " +aEvents[i]["enddate"];
  11.                
  12.             }
  13. /*
  14.             var sEvents:String = "";
  15.             for (var i:Number = 0; i < aEvents.length; i++) {
  16.                  sEvents += "Datum: " + aEvents[i]["startdate"] + " - " + aEvents[i]["enddate"] + "<br>" + aEvents[i]["eventtitle"] + "<br>" + aEvents[i]["city"] + "<br><br>";
  17.             } 
  18.             _root.main.mc_events.txt_events.htmlText = sEvents;
  19. */     
  20. }


Also das Auskommentierte funktionierte vorher.

Geändert von compuboy1010 (06-07-2005 um 13:44 Uhr)
compuboy1010 ist offline   Mit Zitat antworten
Alt 06-07-2005, 13:42   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Kann man ohne Datei schwer sagen. Vielleicht liegt's daran:
ActionScript:
  1. mc_events["event"+i].mc_title.txtTitle.[B]text[/B] = ...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-07-2005, 13:48   #8 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Geil! Daran lag es!
Nun zeigt er mir allerdings nur einen einzigen Termin und zwar den letzten im Array.



Was ist nun schon wieder verkehrt? Ich raffe nicht wie ich die nun vertikal plazieren kann. So wie ich es gemacht habe funzt es nicht.

Geändert von compuboy1010 (06-07-2005 um 13:51 Uhr)
compuboy1010 ist offline   Mit Zitat antworten
Alt 06-07-2005, 13:52   #9 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Ich tippe mal, deine ganzen MCs liegen übereinander. Deswegen siehst du nur den letzten.
ActionScript:
  1. mc_events["event"+i]._y += 50;
Das geht so nicht. Höchstens so
ActionScript:
  1. mc_events["event"+i]._y = 50*i;
zum Beispiel...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-07-2005, 13:58   #10 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Hallo, wie meinst du das mit "übereinander"?
Ich verwende doch getNextHighestDepth()! Warum geht es so(unten) nicht?


ActionScript:
  1. function displayEvents(aEvents:Array):Void {
  2.             for (var i:Number = 0; i < aEvents.length; i++) {          
  3.                 mc_events.attachMovie("mc_event", "event"+i, getNextHighestDepth());
  4.                 mc_events["event"+i]._x = 5;
  5.                 mc_events["event"+i]._y += mc_events["event"+i]._heigh*i;
  6.                 mc_events["event"+i].mc_title.txtTitle.text = aEvents[i]["eventtitle"];
  7.                 mc_events["event"+i].txtCity.text = aEvents[i]["city"];
  8.                 mc_events["event"+i].txtDate.text = aEvents[i]["startdate"] + " - " +aEvents[i]["enddate"];
  9.             }
  10. }

Wenn ich es so mache, habe ich das letzte Datum im Array das i fache der Höhe vom movie clip nach unten gerückt.

Geändert von compuboy1010 (06-07-2005 um 14:05 Uhr)
compuboy1010 ist offline   Mit Zitat antworten
Alt 06-07-2005, 14:02   #11 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Was'n das:
ActionScript:
  1. _heigh*it;

ActionScript:
  1. _height*i;
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-07-2005, 14:05   #12 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Das war ein Tippfehler. So geht es auch nicht. Siehe letzten Beitrag (editiert).
compuboy1010 ist offline   Mit Zitat antworten
Alt 06-07-2005, 14:14   #13 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
_height*i;
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 06-07-2005, 14:20   #14 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Klappt auch mit den "t" nicht. So hatte ich es ja. Mir war nur das * Zeichen vor das t gerückt. So wie es oben also geschrieben ist, versetzt er das letzte Datum im Array um das i fache der Position im Array + Höhe des MC nach unten.
compuboy1010 ist offline   Mit Zitat antworten
Alt 06-07-2005, 14:43   #15 (permalink)
... loves Japan!
 
Benutzerbild von compuboy1010
 
Registriert seit: Apr 2005
Ort: D'dorf; DE
Beiträge: 715
Ist das goil! Giol! Goil! Goil!

ActionScript:
  1. function displayEvents(aEvents:Array):Void {
  2.     for (var i = 0; i< aEvents.length; i++) {
  3.         mc_events.attachMovie("mc_event", "event"+i, mc_events.getNextHighestDepth());
  4.         mc_events["event"+i]._x = 5;
  5.         mc_events["event"+i]._y += (mc_events["event"+i]._height*i)+30;
  6.         mc_events["event"+i].mc_title.txtTitle.text = aEvents[i]["eventtitle"];
  7.         mc_events["event"+i].txtCity.text = aEvents[i]["city"];
  8.         mc_events["event"+i].txtDate.text = aEvents[i]["startdate"]+" - "+aEvents[i]["enddate"];
  9.     }
  10. }

Jetzt müsste man noch wissen, wie man abfragt welcher Movie clip angeklickt wurde und dann sing ich " llallalala uh rock and rolll, uh laaaa seniorita"
compuboy1010 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

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

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



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele