Flashhilfe.de - Flash Community

Dynamische Linkliste per XML erstellen? [Flash 10]

 


AntwortenRegistrieren Seite1  

Micha2409#1
Benutzerbild von Micha2409
Beiträge: 3
Registriert: Oct 2009

31.01.2011, 09:54

Hallo alle zusammen.

Eines vorweg: Ich bin für JEDE Hilfe dankbar. Und ich meine: JEDE! Ich verlange von niemandem, mir hier den fertigen Code zu posten. Wenn jemand ein Tutorial kennt / hat, welches mir weiterhilft, wäre das schon SUPER!

Nun zu meinem "Problemchen":
Ich möchte (in Flash CS4, mit AS2) eine dynamische Linkliste erstellen, welche später in ein Homepage-Projekt eingebunden wird. Soweit, so gut...

Da ich bisher nicht sonderlich viel mit XML zu tun hatte aber in Zukunft verstärkt auch darauf mein Augenmerk legen möchte, wäre es super, wenn mir jemand bei der "Entwicklung" der richtigen Vorgehensweise hilft - WENN das nicht zu viel verlangt ist - ich weiß nicht, wie solche Anfragen hier im Forum gesehen werden. :-)

Die nötige XML-Datei habe ich bereits erstellt:
ActionScript:
1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?>

<Partnerlinks>
    <Partner name="Partner 1" beschreibung="Beschreibung 1" pic="../images/partner/partner1.jpg"/>
    <Partner name="Partner 2" beschreibung="Beschreibung 2" pic="../images/partner/partner2.jpg"/>
    <Partner name="Partner 3" beschreibung="Beschreibung 3" pic="../images/partner/partner3.jpg"/>
</Partnerlinks>


Die Liste soll "Zeilen" wie in einer Tabelle besitzen. In jede Zeile kommt je ein Bild, der Name des Linkpartners und eine Beschreibung.
Hier eine schematische Darstellung von der Liste, wie ich sie mir vorstelle:http://www.testpage2000.de/Forenbilder/liste.jpg
Diese sollte natürlich scrollbar sein. Es werden später ca. 20-30 Einträge in die Liste kommen...

Mein "Problem" ist, dass ich nicht weiß, wie ich in der FLA einen MC dynamisch erzeugen kann, in welchem dann das Bildfeld und die beiden Textfelder dynamisch so oft erzeugt werden, wie Einträge in der XML stehen und diese dann auch noch scrollbar mache... (?)

Falls noch Informationen benötigt werden, die ich vergessen haben sollte, einfach eine "Antwort" schreiben - ich bin heute den ganzen Tag online. Bin gespannt, ob das "Problem" ein 'großes' oder 'kleines' ist... ;-)

Vorab schon mal VIELEN, VIELEN DANK für jede konstruktive Hilfestellung!
MICHA
Auch wenn ein Pferd zur See fährt, ist das Pferd noch lang' kein Seepferd! ;-)
Schlagwörter: AS2, CS4, linkliste, xml
Geändert von Micha2409 am 31.01.11 um 09:56 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

31.01.2011, 14:18

Für die Darstellung, würde ich einen Proto-MovieClip basteln, der alle Textfelder schon enthält.
Den kann man dann mit attachMovie, so oft auf die Bühne bringen wie nötig.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Micha2409#3
Benutzerbild von Micha2409
Beiträge: 3
Registriert: Oct 2009

Themenautor/in

31.01.2011, 18:34

SUPER, damit wäre die grundlegendste Frage nach dem "Vorgehen" schon mal beantwortet. Bevor ich jetzt loslege mit dem AS, noch eine Frage... Wie man dynamische Textfelder erzeugt und diese mit Daten füttert, ist mir bekannt. ABER wie stelle ich es an, dass immer unterschiedliche Inhalte in den Textfeldern im MC angezeigt werden, obwohl diese doch beim attachen ihren Instanznamen, bzw. die Variable behalten?? (FALLS möglich / nötig wäre hier ein kleines Scriptbeispiel doch nicht schlecht. Bitte nicht die Lösung! Etwas, von dem man selbst herleiten kann, wie's funktioniert).

Ich beginne jetzt mal, die FLA zu basteln...

Herzlichen Dank @ RustyCake,
MICHA
Auch wenn ein Pferd zur See fährt, ist das Pferd noch lang' kein Seepferd! ;-)
Geändert von Micha2409 am 31.01.11 um 18:35 Uhr
skoda#4
Benutzerbild von skoda
Beiträge: 1189
Wohnort: Boston MA
Registriert: Feb 2006

31.01.2011, 19:15

for schleife die die laenge des array der xml sachen enthaelt
und dort dann mit dem i die jeweilige stelle aus dem array ins textfeld schieben
mc["textfeld_mc"+i]
no one died when clinton lied
Werbung
Beiträge: 0
Registriert: Feb 2016


RustyCake#5
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

31.01.2011, 19:42

@ micha2409
Wie schon geschrieben, die Textfelder Dynamisch erstellen, geht natürlich (vielleicht ja auch die Aufgabe).
Aber es geht schneller die aller per Hand zu erstellen (wen erlaubt), und in einen Clip zu geben.
Dauert vielleicht 5 Minuten.
Ein Beispiel:
ActionScript:
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
/*
//-----------------------------------------------------------------------------------------------------------------------------
// Habe atribute wie name/names rausgenommen, die werden von Flash verwendet
// Für dieses Beispiel hier einen MovieClip erstellen, mit drei Textfeldern, MovieClip in der Bibliothek, mit dem Verknüpfungs-Bezeichner
// "BoxBaseMC" ablegen, (rechtsklick auf den Clip in der Bib., "Eigenschaften" wählen, und "Export für Actionscript" auswählen).
// Der "BoxBaseMC"-MovieClip sollte seinen Registrierungspunkt oben links haben, kann man beim erstellen des Clips auswählen.
// Die drei Textfelder "links_txt, oben_txt und unten_txt" jeweils mit diesen Instanznamen anlegen
//-----------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0"?>// encoding="UTF-8" brauchts hier nicht, "UTF-8" ist default-wert.
<Partnerlinks>
    <Partner part="Partner 1" besch="Beschreibung 1" pic="../images/partner/partner1.jpg"/>
    <Partner part="Partner 2" besch="Beschreibung 2" pic="../images/partner/partner2.jpg"/>
    <Partner part="Partner 3" besch="Beschreibung 3" pic="../images/partner/partner3.jpg"/>
</Partnerlinks>
//-----------------------------------------------------------------------------------------------------------------------------
*/

var xmlData:XML = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = function(success) {
     if (success) {
        createTextBox();
     } else {
        fehler_txt.text = "Ladefehler für partner.xml";
     }
};
xmlData.load("partner.xml");
function createTextBox() {
     for (var i:Number = 0; i < xmlData.firstChild.childNodes.length; i++) {
        var bMC:MovieClip = this.attachMovie("BoxBaseMC", "boxMovieClip" + i, this.getNextHighestDepth(), {_x:5, _y:(i * 85) + 5});
        bMC.links_txt.text = xmlData.firstChild.childNodes[i].attributes.part;
        bMC.oben_txt.text = xmlData.firstChild.childNodes[i].attributes.besch;
        bMC.unten_txt.text = xmlData.firstChild.childNodes[i].attributes.pic;
     }
}
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
springer#6
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

31.01.2011, 19:43

hi,
schau dir mal das hier an: LINK
lieber chips essen und danach voller zweifel sein, als voller zweifel chips essen...
Micha2409#7
Benutzerbild von Micha2409
Beiträge: 3
Registriert: Oct 2009

Themenautor/in

01.02.2011, 11:45

VIELEN, VIELEN DANK euch dreien!!! :-))

Habe gestern Abend noch die Beiträge von "skoda" und "RustyCake" kombiniert und schon "fast" alles funktionierte, als ich eine letzte Frage hier im Forum posten wollte. Da kam die Nachricht von "springer". Und nachdem ich dort etwas "gespickelt" habe, hatte ich meinen Fehler erkannt und verstanden. Kurz das AS etwas umgestellt und schon läuft alles, wie ich es brauche!

Einfach genial!!!
Auch wenn ein Pferd zur See fährt, ist das Pferd noch lang' kein Seepferd! ;-)

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de