Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-03-2006, 12:30   #1 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
xml submenu - kleine hilfe

hey leute,ich schon wieder

hab nen kleines problem :

hab ein xml menu erstellt.zu erst einfach nur mal ohne submenu.
klappt wunderbar-garkein ding. aber jetzt wollte ich ein submenu dazu machen.
die xml datei sieht so aus :

PHP-Code:
    <knoten>
-
    <
kindknoten name="Home" beschreibung="http://www.maxi-hammes.de">
<
submenu subname="Startseite" beschreibung="http://www.maxi-hammes.de"/>
<
submenu subname="Konfiguration" beschreibung="http://www.maxi-hammes.de"/>
<
submenu subname="Support" beschreibung="http://www.maxi-hammes.de"/>
<
submenu subname="Logout" beschreibung="http://www.maxi-hammes.de"/>
</
kindknoten>
-
    <
kindknoten name="About Us" beschreibung="http://www.maxi-hammes.de">
<
submenu subname="Team" beschreibung="http://www.maxi-hammes.de"/>
<
submenu subname="Firma" beschreibung="http://www.maxi-hammes.de"/>
<
submenu subname="Ausrüstung" beschreibung="http://www.maxi-hammes.de"/>
</
kindknoten>
</
knoten
so,wie sollte ich das jetzt mit dem submenu machen ?
poste euch einfach mal meinen code wie ich es mir gedacht habe.
mir wäre wichtig,dass ihr mir das dann auch irgendwie mit meinen codeschnipseln erklären könnt,damit ich auch was lernen kann

PHP-Code:
flash_menu = new XML();
flash_menu.ignoreWhite true;
flash_menu.load('http://leonic.de/tests/flash_menu/menu_2.php');
flash_menu.onLoad = function() {
    
punkte this.firstChild.childNodes;
    
//submenu = this.firstChild.childNodes[0].childNodes;
    //submenu2 = this.firstChild.childNodes[1].childNodes;
    //trace(punkte[1].attributes.name)
    //trace(submenu[0].attributes.subname);
    //trace(submenu2[0].attributes.subname);
    //trace(this.firstChild.childNodes)
    
for (i=0i<punkte.lengthi++) {
        
_root.attachMovie('Button2''Button2'+ii);
        
t.buttText.text.text punkte[i].attributes.name;
        
t._y 20*i;
        
t._y += 100;
        
t._x 150;
        
//t.link = punkte[i].attributes.beschreibung;
        
t.onPress anzeige
            
//getURL(this.link, '_blank');
    
        
t.onRollOver = function() {
            
this.gotoAndPlay(2);
        };
        
t.onRollOut = function() {
            
this.gotoAndPlay(11);
        };
    }
};
function 
anzeige () {
    
submenu this.firstChild.childNodes[0].childNodes;
    
//submenu2 = this.firstChild.childNodes[1].childNodes;
    
for (a=0;a<submenu.length;a++) {
        
_root.attachMovie('sub','sub'+a,a)
        
n.sub.subMenu.text submenu[a].attributes.subname
        n
._y 20*i;
        
n._y += 300;
        
n._x 150;
    }

wie ihr seht,hab ich unten eine funktion. hab mir halt gedacht,dass ich einfach
wenn ich auf den ersten button klicke das submenu irgendwie lade oder,so...
naja das war dann aber nichts


mfg
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 05-03-2006, 13:09   #2 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Wichtig!
PHP-Code:
flash_menu.onLoad = function( success
{
   if( 
success )
   {
      
// dann erst machen
   

...

__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 05-03-2006, 13:12   #3 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
mach ich eigentlich nie
falls ich aber nicht weiss ob es geladen hat,mach ich einfach nen trace.
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 05-03-2006, 17:37   #4 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
mh,keiner sonst irgendeine idee?
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 05-03-2006, 18:07   #5 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
Hey max,

wenns dich lüstert, dann schau mal hier, klick - da bin ich mit darwin ein XML menü vom urschleim an + codedescription mit beispiel durchgegangen.

lg,
shorty
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 05-03-2006, 18:15   #6 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
ich weiss ich weiss
hab ja auch gesucht und viel gefunden,aber bei mir ist das immer so,dass ich mit
anderen codes nicht so richtig klar komme. das ich dann net weiss wie das so abging. bei dir ist es ja auch ein weng anders,dass du die daten in ein array
schreibst.

meinste du kannst mir nicht nen kleinen denkanstoss geben,wie ich das handhaben könnte,mit dem submenu ?

wäre dir jedenfalls dankbar
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 05-03-2006, 18:26   #7 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
jep, no problem, aber ich sitze gerade auf arbeit, an der hotline. ik bookmark mir den thread, und melde mich des nachtens hier (hab 24:00 feierabend, bin ca. 1:30 @ home).


anbei noch n tipp, der user erwartet eine aktion bei onRelease, würde ich sagen?

(...)

damit deine anzeigen function den richtigen submenüpunkt selktiert, solltest du ihr entweder eine referenz auf den hauptknoten, oder eine etsprechende ID mit auf den weg geben.

shorty

{btw} schade, dabei hab ich mir in dem thread mit rakete darwin so viel mühe bei der kommentierung gegeben ....

Zitat:
bei dir ist es ja auch ein weng anders,dass du die daten in ein array
schreibst.
ich seh dort kein einziges array
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.

Geändert von shorty (05-03-2006 um 18:54 Uhr)
shorty ist offline   Mit Zitat antworten
Alt 05-03-2006, 18:41   #8 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
hab das nur beim AS vom darwin gesehen.
danke das du heute noch ne nachtschicht einlegst kannst dir aber auch was zeit lassen. brauche ja nur son kleinen anstupser.

ja,deine arbeit mit darwin war echt klasse,keine frage ! aber wie gesagt,wollte
das irgendiwe mit meinem zeugs machen.

btw: deine kommentierung war top !
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 05-03-2006, 18:43   #9 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
ok, dann bis heute nacht
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 06-03-2006, 01:06   #10 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
pünktlich wie die deutsche bahn :)

da max, nimm. kommentare hab ich mir gespart, variablennamen sind gleich geblieben, damit du durchblickst.
PHP-Code:
this.stop ();
var 
flash_menu = new XML ();
flash_menu.ignoreWhite true;
flash_menu.onLoad = function (success)
{
    if (
success)
    {
        var 
punkte this.firstChild.childNodes;
        for (
0punkte.lengthi++)
        {
            var 
_root.attachMovie ('Button2''Button2' ii);
            
t.buttText.text punkte[i].attributes.name;
            
// new: var ID
            
t.ID i;
            
t._y 20 i;
            
t._y += 100;
            
t._x 150;
            
t.onRollOver = function ()
            {
                
this.gotoAndPlay (2);
            };
            
t.onRelease = function ()
            {
                
// new: call anzeigen with argument ID ...
                
anzeige (this.ID);
            };
            
t.onRollOut = function ()
            {
                
this.gotoAndPlay (11);
            };
        }
    }
};
function 
anzeige (ID)
{
    var 
submenu flash_menu.firstChild.childNodes[ID].childNodes;
    for (
0submenu.lengtha++)
    {
        
trace (submenu[a].attributes.subname);
        
// do something, build submenue ...
    
}
}
flash_menu.load ('http://leonic.de/tests/flash_menu/menu_2.php'); 
die logik zum aufbau des submenüs überlasse ich dir, das schafst ja sicherlich alleine

gruß,
shorty
Angehängte Dateien
Dateityp: zip menu.zip (5,8 KB, 21x aufgerufen)
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty ist offline   Mit Zitat antworten
Alt 06-03-2006, 14:45   #11 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
das sieht mal richtig sweet aus
verstehe das auch mit dem übergeben der ID.
kkam da irgendwie net drauf.

aber noch was wegen dem "aufbau" :

hab da jetzt ein zweiten mc für das submenu attached.wenn man auf nen btn klickt kommt dann des submenu,aber dann wird das hauptmenu nicht mehr
angezeigt. wodran liegts ?

PHP-Code:
this.stop();
var 
flash_menu = new XML();
flash_menu.ignoreWhite true;
flash_menu.onLoad = function(success) {
    if (
success) {
        var 
punkte this.firstChild.childNodes;
        for (
i=0i<punkte.lengthi++) {
            var 
_root.attachMovie('Button2''Button2'+ii);
            
// new: var ID
            
t.ID i;
            
t._y 20*i;
            
t._y += 100;
            
t._x 150;
            
t.buttText.text.text punkte[i].attributes.name;
            
t.onRollOver = function() {
                
this.gotoAndPlay(2);
            };
            
t.onRelease = function() {
                
// new: call anzeigen with argument ID ...
                
anzeige(this.ID);
            };
            
t.onRollOut = function() {
                
this.gotoAndPlay(11);
            };
        }
    }
};
function 
anzeige(ID) {
    var 
submenu flash_menu.firstChild.childNodes[ID].childNodes;
    for (
a=0a<submenu.lengtha++) {
        var 
_root.attachMovie('sub''sub'+aa);
        
n.sub.subMenu.text submenu[a].attributes.subname;
        
trace(submenu[a].attributes.subname);
        
// do something, build submenue ...
    
}
}
flash_menu.load('http://leonic.de/tests/flash_menu/menu_2.php'); 
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 06-03-2006, 15:42   #12 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
habs hinbekommen,hehe

PHP-Code:
this.stop();
var 
flash_menu = new XML();
flash_menu.ignoreWhite true;
flash_menu.onLoad = function(success) {
    if (
success) {
        var 
punkte this.firstChild.childNodes;
        for (
i=0i<punkte.lengthi++) {
            var 
_root.attachMovie('Button2''Button2'+ii);
            
t.buttText.text.text punkte[i].attributes.name;
            
// new: var ID
            
t.ID i;
            
t._y 20*i;
            
t._y += 100;
            
t._x 150;
            
t.onRollOver = function() {
                
this.gotoAndPlay(2);
            };
            
t.onRelease = function() {
                
// new: call anzeigen with argument ID ...
                
anzeige(this.ID);
            };
            
t.onRollOut = function() {
                
this.gotoAndPlay(11);
            };
        }
    }
};
function 
anzeige(ID) {
    var 
submenu flash_menu.firstChild.childNodes[ID].childNodes;
    for (
a=0a<submenu.lengtha++) {
        
trace(submenu[a].attributes.subname);
        
// do something, build submenue ...
        
_root.createEmptyMovieClip("subMenu_mc"this.getNextHighestDepth());
        var 
_root.subMenu_mc.attachMovie('sub''sub'+aa);
        
n._y 20*a;
        
n._y += 250;
        
n._x 150;
        
n.sub.subMenu.text submenu[a].attributes.subname;
    }
}
flash_menu.load('http://leonic.de/tests/flash_menu/menu_2.php'); 
hab aber dann doch nochn problem...
wenn ich auf punkt 1 klicke kommt submenu mit 4 unterfeldern --> richtig
wenn ich auf punkt2 klicke kommt submenu mit 4 unterfeldern --> falsch,da sollten nur 3 sein,sprich der löscht den 4 net.. wie kann ich das ändern ??
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 06-03-2006, 17:41   #13 (permalink)
Neuer User
 
Benutzerbild von _Max_
 
Registriert seit: May 2003
Beiträge: 2.475
auch das hab ich doch noch hinbekommen
hehe

PHP-Code:
this.stop();
var 
flash_menu = new XML();
flash_menu.ignoreWhite true;
flash_menu.onLoad = function(success) {
    if (
success) {
        var 
punkte this.firstChild.childNodes;
        for (
i=0i<punkte.lengthi++) {
            var 
_root.attachMovie('Button2''Button2'+ii);
            
t.buttText.text.text punkte[i].attributes.name;
            
// new: var ID
            
t.ID i;
            
t._y 20*i;
            
t._y += 100;
            
t._x 150;
            
t.onRollOver = function() {
                
this.gotoAndPlay(2);
            };
            
t.onRelease = function() {
                
// new: call anzeigen with argument ID ...
                
anzeige(this.ID);
            };
            
t.onRollOut = function() {
                
this.gotoAndPlay(11);
            };
        }
    }
};
function 
anzeige(ID) {
    var 
submenu flash_menu.firstChild.childNodes[ID].childNodes;
    
_root.subMenu_mc.removeMovieClip();
    for (
a=0a<submenu.lengtha++) {
        
trace(submenu[a].attributes.subname);
        
// do something, build submenue ...
        
_root.createEmptyMovieClip("subMenu_mc"this.getNextHighestDepth());
        var 
_root.subMenu_mc.attachMovie('sub''sub'+aa);
        
n._y 20*a;
        
n._y += 185;
        
n._x 150;
        
n.sub.subMenu.text submenu[a].attributes.subname;
        
n.onRollOver = function() {
            
this.gotoAndPlay(2);
        };
        
n.onRollOut = function() {
            
this.gotoAndPlay(11);
        };
    }
}
flash_menu.load('http://leonic.de/tests/flash_menu/menu_2.php'); 
__________________
!!! www.verblitzt.de !!!
_Max_ ist offline   Mit Zitat antworten
Alt 06-03-2006, 22:09   #14 (permalink)
_//\\#//\\_
 
Benutzerbild von warrantmaster
 
Registriert seit: Jan 2003
Beiträge: 7.060
pm ist voll



Code:
in der funktion anzeige

n.namen = submenu[a].attributes.subname;

und dann:

n.onPress = function() 
{
trace(this.namen);
}

du 'heftest die variable 'namen' sozusagen 
an den submenue-button (mc).
so kann er sich immer wieder an die var erinnern.
gruß


moin shorty
warrantmaster ist offline   Mit Zitat antworten
Alt 06-03-2006, 23:30   #15 (permalink)
notzucht
 
Benutzerbild von shorty
 
Registriert seit: Nov 2003
Ort: Potsdam
Beiträge: 2.939
moin warrant!

bäh, ik hab rechteckige augen und den thread verpast, für mich is heute finito .....
__________________
.
Flex in a week | Viertel vor halb nach Vollmond | ^^°.°^^ | Waltz with Bashir
.
shorty 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 14:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele