Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-10-2003, 18:11   #1 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
(Scrollbalkenfrage) Scrollpane und xml

Hallo liebe AS Scripter,

ich habe mich jetzt durch mehrere Tutorials bezüglich xml und dynamischer Textfelder gesucht, und auch eine Menge herausgefunden, dafür schonmal vielen Dank an all die fleißigen Helferchen in diesem Forum.

Aber jetzt kommt ne gruselige Anfängerfrage, weil ich echt keine Idee habe wo der Denkfehler liegen könnte.

In meinem Flash liegt folgendes Script im ersten und einzigen Bild

ActionScript:
  1. // Create new XML Object and set ignoreWhite true
  2. book_xml = new XML();
  3. book_xml.ignoreWhite = true;
  4. // Setup load handler which just invokes another function
  5. // which will do the parsing of our XML
  6. book_xml.onLoad = function(sucess) {
  7.         if (sucess) {
  8.                 processBook(book_xml);
  9.         }
  10. };
  11.  
  12.  
  13. // Style definieren
  14. meinFormat = new TextFormat();
  15. meinFormat.bullet = false;
  16. meinFormat.underline = true;
  17. // Load up the XML file into Flash
  18. book_xml.load('book.xml');
  19. // This is the function that will be called when
  20. // our XML document is loaded succesfully
  21. function processBook(xmlDoc_xml) {
  22.         // xmlDoc_xml is now a reference to the XML
  23.         // object where our information is stored
  24.         for (var n = 0; n<xmlDoc_xml.firstChild.childNodes.length; n++) {
  25.                
  26.                 // Hier muss nun jedes Objekt ausgegeben werden
  27.                 // Knotenwerte in Objecte verwandeln
  28.                 Object[n]=xmlDoc_xml.firstChild.childNodes[n].firstChild.nodeValue
  29.                
  30. //Ausgabe Knotenname / Knoteninhalt
  31.  
  32. if (xmlDoc_xml.firstChild.childNodes[n].nodeName=="Titel"){
  33.  
  34. // Falls Titel
  35. _root.createEmptyMovieClip("mc"+n,n);
  36. _root["mc"+n].createTextField("Text",1,100,10,600,550);
  37. _root["mc"+n]["Text"].multiline = true;
  38. _root["mc"+n]["Text"].wordWrap = true;
  39. _root["mc"+n]["Text"].border = false;
  40. meinFormat.color = 0xff0000;
  41. meinFormat.size = 28;
  42. _root["mc"+n]["Text"].text = Object[n];
  43. _root["mc"+n]["Text"].setTextFormat(meinFormat);
  44.  
  45. } else if (xmlDoc_xml.firstChild.childNodes[n].nodeName=="Bild"){
  46.  
  47. // falls Bild
  48. _root.createEmptyMovieClip("mc"+n,n);
  49. _root["mc"+n].loadMovie(Object[n]);
  50. _root["mc"+n]._x=600;
  51. _root["mc"+n]._alpha=0;
  52. } else {
  53.  
  54. // falls nicht
  55. _root.createEmptyMovieClip("mc"+n,n);
  56. _root["mc"+n].createTextField("Text",1,100,10,600,550);
  57. _root["mc"+n]["Text"].multiline = true;
  58. _root["mc"+n]["Text"].wordWrap = true;
  59. _root["mc"+n]["Text"].border = false;
  60. meinFormat.color = 0x000000;
  61. meinFormat.size = 14;
  62. _root["mc"+n]["Text"].text = Object[n];
  63. _root["mc"+n]["Text"].setTextFormat(meinFormat);
  64. _root["mc"+n]._visible=0;
  65. };
  66. if (_root["mc"+6]._alpha==0){
  67. _root["mc"+6]._alpha=100;
  68. }
  69. //Ausgabe Ende
  70. };
  71.  
  72. // Schleife ende
  73. };

Auf dem Button der im ersten Bild liegt liegt folgendes script

ActionScript:
  1. on (release) {
  2.     if (_root["mc"+6]._alpha == 0) {
  3.         _root["mc"+6]._alpha = 100;
  4.     }else{
  5.         _root["mc"+6]._alpha = 0;
  6. }
  7. }

so und jetzt sollte doch eigentlich der _root["mc"+6] durch Betätigung des Buttons togglebar sein....

1. Warum tut sich nichts wenn man den Button drückt?

2. Wie kann ich die dynamisch erzeugten Textfelder jeweils mit einem Schrollbalken versehen der mit in dem jeweiligen Moovieclip ist? (schwer auszudrücken)
Ich versuch das nochmal zu konkretisieren....
Der Text soll innerhalb des Movieclips z.B. _root["mc"+6] in einer festen Größe und scrollbar dargestellt werden.

Wäre echt cool wenn sich jemand die Zeit nehmen würde dieses endlose Posting durchzulesen, danke schonmal.

Wer das ganze testen will hier noch das xml: klar book.xml ist der Filename.

[xml]
<book>
<Titel>Buchtitel</Titel>
<Autor>Buchautor</Autor>
<BookID>Book Identifier</BookID>
<Kapitel>Kapitel 1</Kapitel>
<Text>O'Reilly &amp; Associates</Text>
<Bild>http://images.amazon.com/images/P/05...1.THUMBZZZ.jpg</Bild>
<Bild>http://images.amazon.com/images/P/05...1.MZZZZZZZ.jpg</Bild>
<Text>Hier würde dann ein langer Text
mit Umbrüchen und sonstigen stehen der in ein Textfeld mit Scrollbalken wandern soll
nur wie weiß ich halt nicht
</Text>
<Bild>http://images.amazon.com/images/P/05...1.LZZZZZZZ.jpg</Bild>
<Kapitel>Kapitel 2</Kapitel>
<Text>O'Reilly &amp; Associates</Text>
<Bild>http://images.amazon.com/images/P/05...1.THUMBZZZ.jpg</Bild>
<Bild>http://images.amazon.com/images/P/05...1.MZZZZZZZ.jpg</Bild>
<Bild>http://images.amazon.com/images/P/05...1.LZZZZZZZ.jpg</Bild>
</book>
[/xml]

Geändert von Salix (09-10-2003 um 11:11 Uhr)
Salix ist offline   Mit Zitat antworten
Alt 09-10-2003, 11:06   #2 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
Gnarf

mittlerweile habe ich irgendwie ein paar Fortschritte gemacht, aber jetzt gibt es ein anderes Problem

Wenn ich die Bilder in die duplizierten Scrollpanes laden will dann tut es das nicht.

Seltsamerweise funktioniert das ganze auch ansatzweise ausschließlich in der html Version....

Das feste Bild wird durch das nachgeladene ersetzt

ActionScript:
  1. _root.pic.pane.loadScrollContent(Object[n], "load" , _parent._parent);
  2. _root.pic.pane.refreshPane();

aber in den Duplikaten funzt das nicht :
ActionScript:
  1. _root["pic"+n].pane.loadScrollContent(Object[n], "load" , _parent._parent);
  2. _root["pic"+n].pane.refreshPane();

Ich habe mal den ganzen Kram als zip hochgeladen...

Hier ist das gezippte Zeugs

Bitte um Hilfe.... ich habe jetzt stundenlang herumprobiert und weiss nicht wie es geht... ich kann ja schlecht dynamisch erzeugte pics für Action Script in frame 1 exportieren...oder??
.... denke damit hängt es irgendwie zusammen.

Geändert von Salix (09-10-2003 um 11:10 Uhr)
Salix ist offline   Mit Zitat antworten
Alt 10-10-2003, 08:55   #3 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
Ist hier niemand da???

der mir helfen kann? ist jetzt schon 3 tage hier und keiner sagt was dazu
Salix ist offline   Mit Zitat antworten
Alt 11-10-2003, 12:05   #4 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
:(

hilfeeee
Salix ist offline   Mit Zitat antworten
Alt 11-10-2003, 15:33   #5 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Hallo Salix

warum so kompliziert ?
Du könntest doch einfach verschiedene MovieClips für deine verschiedenen Inhalte anlegen und die dann in deiner parse-Routine je nach Bedarf attachen und mit den Inhalten füllen.
In einem MovieClip für Text kannst du dann auch einfach einen Scrollbalken unterbringen.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 11-10-2003, 16:57   #6 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
Erstmal Danke für Deinen Beitrag

Also, das Problem ist folgendes:

Ich will ein ganzes Buch in einem Flash Film präsentieren.

Das Problem ist, das ich in keinster Weise weis was da alles ankommt. Weder wie groß noch wieviele Bilder enthalten, noch wie lang die einzelnen Textpassagen oder wieviele Kapitel es sein werden.

Ergo muß jeder Abschnitt gegebenenfalls scrollbar sein.

Bei einer Html Seite klatsche ich ja einfach alles hintereinander und bekomme automatisch einen Scrollbalken mit dem ich durch das Kapitel scrollen kann.

Doch bei Flash muß ich ja quasi vorher wissen wie groß die Textfelder sind, und wo ich sie hinsetze da man ja text und Grafik in einer scrollbox ja nicht einfach mischen kann.

Daher will ich aus dem XML halt alles einzelne clips machen, die man dan der Reihe nach ansehen kann.

Quasi Kapitel für Kapitel. Immer wenn im Text dann ggf ein Bild vorkommen soll müsste irgendwo auf der Seite das Bild erscheinen können.

Das Ganze ist für mich echt ein riesiges Problem. Leider kann man ja in Flasch nicht einfach ein PDF anzeigen, das wäre die einfachste Möglichkeit.

So kam ich also darauf, jedes einzelne XML Tag erstmal in einen eigenen Movieclip zu packen.

Habe halt bisher noch nie mit XML gearbeitet, und irgendwie verstehe ich des ganze nicht so wirklich. Ich habe auch schon überlegt irgendwie einen Object Konstruktor zu bauen, aber damit kenne ich mich auch nicht so wirklich aus. Diese Ganze Prototype Geschichte ist für mich noch ein Buch mit sieben Siegeln.

Vielleicht denke ich auch einfach zu kompliziert.

Die Aufgabe ist halt einen komfortablen Reader für ein Buch zu entwickeln, wobei das ganze so beschaffen sein muß, das man das Buch später einfach durch ein anderes ersetzen kann.

Wenn es nur ein Buch wäre würde ich es wahrscheinlich Seite für Seite anlegen, dann kan man ja alles so anordnen das es gut passt. Aber ich habe jeine Idee wie man soetwas dynamisch lösen kann. Hatte halt gedacht in nem Scroll pane kann man Text und Grafik mischen. Dummerweise ist die Dokumentation dieses Scrollpanes sehr schlecht zu verstehen, und auch hier im Forum enden die meißten Threads mit Fragenzu dieser Komponente im Nichts habe glaube ich alles schon mehrfach durchgesucht.
Salix ist offline   Mit Zitat antworten
Alt 11-10-2003, 17:09   #7 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Eine Scrollpane zeigt einfach nur einen MovieClip an. Was da letztlich drin ist, ist ihr egal. Für die Scrollpane ist nur die Groesse des ganzen Objekts interessant.

Allerdings schätze ich, dass Flash nicht leistungsfähig genug ist, um ein ganzes Buch in einer Scrollpane unterzubringen. Du muesstest das schon auf einzelne Seiten oder vielleicht ein paar Seiten herunterbrechen, damit es in Flash noch performant ist.



mfg r.
bokel ist offline   Mit Zitat antworten
Alt 11-10-2003, 17:12   #8 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
Ja genau...

deswegen wird es ja auch in die vielen kleinen Teile zerlegt und soll dann Kapitel für kapitel einblendbar werden.

Das problem ist halt das teileweise Textteile anders dargestellt werden müssen (Kursiv, Fett andersfarbig etc)und im Text halt auch ggf Bilder eingebaut werden sollen.

Geändert von Salix (11-10-2003 um 17:14 Uhr)
Salix ist offline   Mit Zitat antworten
Alt 11-10-2003, 19:46   #9 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Da hast du dir ganz schön viele Probleme auf einmal aufgehalst Ich würde mit etwas einfachem beginnen, und die Textknoten deiner Seite erstmal untereinander darstellen und formatieren.

mfg r
bokel ist offline   Mit Zitat antworten
Alt 12-10-2003, 12:52   #10 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
hm..

Also ich schnall es einfach nicht.....

Ich habe mir jetzt aus dem XML zwei Felder generiert.

feldname(n) und
feldwert(n)

und ich habe die variable parts die angibt wieviele Bausteine es gibt.

jetzt müsste ich aus jedem Element einen Film erzeugen und diese Filme alle untereinander hängen.

Problem 1:

mache ich ein dynamisches textfeld was scrollbar ist, habe ich tausend Scrollbalken untereinander.
mache ich statische Felder,w eiß ich ja nicht wie groß die sein müßten, weil ja der Rest immer abgeschniten wird.

Ich habe nicht die geringste Idee wie man soetwas angehen könnte.

(ich will natürlich jetzt nicht ein Script, sondern nur eine Methode wie man das realisieren könnte, hast du da eine Idee?)
Salix ist offline   Mit Zitat antworten
Alt 12-10-2003, 13:29   #11 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Mit TextField.autoSize kannst du ein Textfeld so einstellen, dass es sich der Groesse seines Inhalts anpasst.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 12-10-2003, 13:50   #12 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
Vielen Dank für Deine Geduld bokel

ActionScript:
  1. Kapiteltitelformat=new TextFormat();
  2. Kapiteltitelformat.bullet = false;
  3. Kapiteltitelformat.underline = false;
  4. Kapiteltitelformat.color = 0x0000ff;
  5. Kapiteltitelformat.size = 20;
  6.  
  7. for (x=0; x<parts; x++) {
  8. feldinhalt=feldinhalt+feldwert[x];
  9. Buch.text=feldinhalt;
  10. }
  11.  
  12. Buch.setTextFormat(Kapiteltitelformat);
  13. table.setScrollContent("Buch");
  14. table.refreshPane();
  15. stop();

zeigt mir zwar in Buch jetzt alle Texte an, aber es zeigt nix im Scrollpane an (

Buch ist ein Textfeld mit Scrollbar, welches auf der Bühne liegt.
table ist ein Scrollpane welches auch auf der Bühne liegt.

Mir fehlt die Funktion das dynamisch generierte Buch an den Inhalt des Scrollpanes anzuhängen.... habe im Forum nur immer gefunden das man dynamisch generierte mc´s nicht attachen kann.

Es fehlt scheibar der Befehl der das dynamisch generierte mc für AS Nutzung exportiert.

Ich bekomme keine dynamischen Inhalte in dieses elende scrollpane.
Salix ist offline   Mit Zitat antworten
Alt 12-10-2003, 16:19   #13 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Du kannst in der Bibliothek einen MovieClip anlegen, in dem du deine Inhalte attachest. Diesen Movieclip gibts du der ScrollPane über seine LinkageId an.

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 12-10-2003, 20:52   #14 (permalink)
Humane Resource
 
Benutzerbild von Salix
 
Registriert seit: Jun 2003
Ort: Karben
Beiträge: 95
Hallo Bokel

Vielen Dank für all die Zeit und Mühe die Du investiert hast.

Ich habe mit deinen Anregungen das Problem in den Griff bekommen.

Das Ganze hat zwar im Moment noch ein paar Ecken und Kanten, aber zumindest ist einmal eine Grundsätzliche Funktionalität da.

Manchmal ist es einfach so als hätte man ein Brett vorm Kopf und man sieht den Wald vor lauter Bäumen nicht.

Zunächst war ich von deinen Antworten immer ein wenig enttäuscht, denn ich konnte erstmal so gar nix damit anfangen.

Aber im Nachhinein muß ich sagen hat es mich doch auf die richtigen Fährten gefüht.

Vielen dank also nochmal.

mfg der Salix
Salix 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 11:46 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele