Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-02-2004, 15:45   #1 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
frage zu xml attached mc´s

hi ihrs,
habe ne frage zu xml attached mc´s, welche ich mit einer linie jeweils miteinander verbinden will... es soll also eine art baum struktur menü werden...

das prob an der ganzen geschichte ist nun, daß ich, wenn ich auf einen buttons klicke und sich die untermenüpunkte öffnen diese untermenüpunkte(buttons) wiederrum in einem neuen mc attached werden... das sieht dann z.B. so aus:

Zitat:
this: _level0.child1.child1.child1.child1.child1.child3
this: _level0.child1.child1.child1.child1.child1.child2
this: _level0.child1.child1.child1.child1.child1.child1
this: _level0.child1.child1.child1.child1.child1
this: _level0.child1.child1.child1.child3
this: _level0.child1.child1.child1.child2
this: _level0.child1.child1.child1.child1
this: _level0.child1.child1.child1
this: _level0.child1.child2
this: _level0.child1.child1
this: _level0.child1
wenn ich diese buttons jetzt miteinander verbinden will müßte ich ja mit localToGlobal die koordinaten der einzelnen mc´s globalisieren. nun habe ich aber das prob das die menüstruktur dynamisch bleibt...
mir fällt einfack keine function ein mit der ich das bewerkstelligen kann

hat jemand ideen, tipps? egal was..

thx & cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 04-02-2004, 17:30   #2 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
wieso arbeitest du nicht von anfang an auf globaler ebene
du nimmst die einen container in dem du deine ganzen sachen attached?
zB klicke ich auf den ersten button
_level0.child1

es werden child1 und child2 von diesem knoten attached
also attached du diese childs nicht an ihrem mutterknoten-mc sondern in dem sepearten container wo später alle knoten mcs in einer stufe liegen.

wieliest du die gesamten daten aus?rekursiv?
ich hab mich-recht erfolgreich- an ner darstellung als baum versucht
und die datensätze rekursiv ausgelesen. am ende konnte ich mir die y- koordinaten von der knotentiefe ableiten und alles in einem mc zeichnen.


-moment schnallts jetzt bei mir?:

ist etwa das dein problem, dass du dich immer auf den vorgänger mc beziehen musst, und daher dort attachen willst?


deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 04-02-2004, 17:33   #3 (permalink)
Addicted to Flas
 
Benutzerbild von eliias
 
Registriert seit: Sep 2002
Ort: Salzburg/Austria
Beiträge: 335
mit dem Verdacht etwas blödes zu schreiben:

Wenn du ein zentrales Object hättest, das dir deine Clips und die Positionen ebenjener verwaltet, wäre dir das noch dynamisch genug.

ActionScript:
  1. var o;
  2. o=_global.ClipReference=function() {
  3.  this.clips=new Array();
  4.  this.instances=0;
  5. }
  6. o=o.prototype;
  7. o.addItem=function(_xposition, _yposition) {
  8.  this.clips[this.instances]=new Object({x:_xposition, y:_yposition});
  9.  this.instances++;
  10. }
  11. delete o;
  12. // Aufruf
  13.  
  14. this.references=new ClipReference();
  15. for(var i=0;i<numberOfClips;i++) {
  16.  this.references.addItem(clip[i].xpos,clip[i].ypos)
  17. }

nur so als Idee

edit: Ich glaube du suchst was ganz anderes
__________________
Blog
Ace of Mace

Geändert von eliias (04-02-2004 um 17:35 Uhr)
eliias ist offline   Mit Zitat antworten
Alt 04-02-2004, 17:43   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
@deluxe: das mit alles in einen container mc attachen habe ich auch schon drann gedacht! nur sieht zur zeit die architektur meines as codes anders aus... müßte dann wohl nochmal von grund auf neu anfangen... das prob ist, immer linien (min eine linie) zu zeichnen zwischen mehreren mc´s die wiederum in unterschiedlichen mc´s liegen.... das lineto und moveto funzt also nicht wirklich...

@eliias: sieht chic aus dein script! was macht das genau? ist aber nicht das was ich suche

thx euch, cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 04-02-2004, 17:51   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
das mit den mcs hab ich shcon verstanden.
ich will dich jetz tauch garnicht umstimmen
wenns nicht in einem einzigen mc eht.
aber wie genau attached du nun deine filme?
die child mcs sind im mutterknoten-mc enthalten oder wie darf man sich das vorstellen?

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 04-02-2004, 18:04   #6 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
genau.. also z.B. so.
child1 enthält z.B. wiederum
child1
child2
child3 enthält z.B. wiederum
child1
child2 usw usw.

auslesen? so:
ActionScript:
  1. doc = new XML ();
  2.     doc.onLoad = myOnLoad;
  3.     doc.load("menustruktur.xml");

ActionScript:
  1. function format (xmldatei) {
  2.     children = xmldatei.childNodes;
  3.     i = 0;
  4.     while (i < children.length) {
  5.         child = children[i];
  6.         if (child.nodeType == 3) {
  7.             if (child.nodeValue == null) {
  8.                 child.removeNode();
  9.             } else {
  10.                 child.nodeValue = clean(child.nodeValue);
  11.                 if (child.nodeValue.length == 0) {
  12.                     child.removeNode();
  13.                     i--;
  14.                 }
  15.             }
  16.        } else {
  17.             format(child);
  18.         }
  19.         i++;
  20.     }
  21. }

meinteste doch, oder?

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 04-02-2004, 18:17   #7 (permalink)
Addicted to Flas
 
Benutzerbild von eliias
 
Registriert seit: Sep 2002
Ort: Salzburg/Austria
Beiträge: 335
salazar: eigentlich macht das teil nix anderes, als das es dir eine Klasse zur Vefüfung stellt, wo du deine x-, y-Postionen eintragen kannst.

also du erstellst eine instanz der klasse

var ClipPositionsSpeicher=new ClipReference();

jedes mal wenn du einen movieclip attached kannst du mit

ClipPositions.addItem(obj.x, obj.y);

deine positionen speichern, abrufbar sind sie dann in chronologischer Reihenfolge wie sie in das interne Array eingetragen wurden.

gibt x-Position des zuallererst attachtend mc's zurück

trace(ClipPositions.clips[0].x)

Naja.. ist eigentlich unnütz , außer es will mal jemand alle MovieClips zentral registrieren.

mfg eliias
__________________
Blog
Ace of Mace
eliias ist offline   Mit Zitat antworten
Alt 04-02-2004, 18:27   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hm.. hatte ich auch schon drann gedacht, aber die positionen der mc´s bzw buttons verändert sich jeweils, da der angeklickte button ins zentrum des bildschrims wandert und die anderen buttons "mitzieht"...

thx & cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 04-02-2004, 18:43   #9 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
deine funktion cleared dir doch nur dein xml objekt.
verarbeitest du die nich?

also du willst wohl an local to global festhalten
beste taktik ist es die koordinaten der mcs auszulesen zu globalisieren und in nem array das koordinaten pärchen abzuspeichern- dann kannste später für jeden eintrag des arrays eine linie zeichnen.

dabei ist ein paar doch immer child<->parent;child<->parent;usw
das macht die sache doch schon recht einfach.
schließlich fällt die lästige aufgabe weg, herauszufinden ob nen child geschwister hat.

wie kriegste nen koordinatenpaar?
this._x, this._y ist die koordinate von dem child
this._parent._x, this._parent._y die der mutter

wenn du nun beide korodinaten globalisierst -das geht indem du die methode localToGlobal im jeweiligen parent mc aufrufst, mit übergabe der child koordinate- kannste nun ne linie im root zeichnen, die aber so aussieht als wäre sie von mc zu mc gezogen

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 04-02-2004, 18:55   #10 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
@deluxe: bin total überarbeitet... versteh vorn und hinten nix mehr :/
weiß zwar noch wieso ich diese struktur gewählt habe, aber nicht mehr genau wie ich sie entstehen lasse es ist zum wimmern..

evtl gleich mal päuschen machen....

wie hastn du das xml docu ausgelesen bzw innen container gepackt?
ich habs einfach mit ner for schleife realisiert... vielleicht scripte ich die aber nochmal um die function...
schaut im moment z.B. so aus (auschnitt aus function):
ActionScript:
  1. children = XMLObject.childNodes;
  2.     n = children.length;
  3.     i = 1;
  4.     while (i<(n+1)) {
  5.         child = children[i-1];
  6.         if (child.nodeType == 1) {
  7.             counter = counter +1;
  8.             this.attachMovie("childclip", "child"+counter, counter+1000);
  9.             this["child"+counter ].name.autoSize = true;
  10.             this["child"+counter ].name.html = true;
  11.             this["child"+counter ].doc = new XML();
  12.             this["child"+counter ].doc = child;
  13.             this["child"+counter ].counter= counter;
  14.             this["child"+counter ].depth = depth+1;
  15.             this["child"+counter ].nodeCount = searchType1Node(child);
  16.             this["child"+counter ].allnodeCount = 1;

thx & cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (04-02-2004 um 19:00 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 04-02-2004, 19:13   #11 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
ich werte meine xml datei aus und sichere sie in nen array- dieses array benutze ich um meine mcs zu erstellen- kann ich auch problemlos per forschleife auslesen, xml objekte musste halt rekursiv auslesen- desshalb lieber im voraus alles in nen eindimensionales array packen, das kannste besser auswerten

aber so wie dus gemacht hast sollte es doch auch gehen
nur erkenne ich nicht wie du darauf kommst dass die mcs so verschachtelt sind?
this bezieht sich in dem atatchMovie code auf die momentane zeitleiste und das doch die ganze zeit?
also leigen die alle in ner ebene?

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 04-02-2004, 19:22   #12 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
des is ja grad des...
hatte das menü vor ca 2monaten geprogt und muß mich nun wieder reinarbeiten... so wie sie attached werden werden se alle in einen container gepackt, aber irgentwo an anderer stelle in meinem scriptjungle ist das mysterium versteckt

such such such....

thx & cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 04-02-2004, 19:28   #13 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
also is das problem garnicht des verbinden der attachten mcs?
wie sieht denn nen blick per
strg+alt+v beim testen aus

liegen alle mcs in der gleichen ebene?dann kannste doch sogar gleich loslegen mit dem linienverbinden
es sei denn du weißt du hast nen problem vor 2 monaten gehabt aber du weißt nicht mehr welches
das is nich vorteilhaft- fällt dir spätestens ein tag vor abgabe auf*g

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 04-02-2004, 19:32   #14 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
nä.. nicht einen tag vor abgabe

die mc´s sind leider verschachtelt. siehe den ersten post.... das wurde getraced.. hatte das prob vor 2monaten und jetzt iset wieder da

thx & cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 04-02-2004, 20:40   #15 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
zu blöde... knoten im hirn gehabt! leider kann ich die besagte struktur nicht mehr ändern! weiß jetzt auch wieder wie es passiert :/
das wird ne bastelei

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar 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 12:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele