Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-02-2007, 18:07   #1 (permalink)
Michael C.
 
Registriert seit: Feb 2007
Ort: München
Beiträge: 36
Question Navigation mit xml

Hallo,

möchte mit einem xml-menü navigieren.
Gibt es die Möglichkeit damit auch direkt Bildbezeichnungen anzusteuern?
Geht dies über den getUrl- Befehl? Wie kann ich das offline testen?
Ich steh im Wald!
Alle Tut's diesbezüglich die ich kenne enden genau da.

So sieht mein xml-file aus:

PHP-Code:
<?xml version="1.0"?>
<menu name="beispiel">
    <menu name="home" aktion="getUrl" variables="">
    </menu>
    <menu name="profile">
        <eintrag name="person" aktion="getUrl" variables=""/>
        <eintrag name="vita" aktion="getUrl" variables=""/>
    </menu>
    <menu name="work">
        <submenu name="portrait">
            <eintrag name="serie a" aktion="getUrl" variables=""/>
            <eintrag name="serie b" aktion="getUrl" variables=""/>
            <eintrag name="serie c" aktion="getUrl" variables=""/>
                </submenu>
        <submenu name="architecture">
            <eintrag name="inside" aktion="getUrl" variables=""/>
                        <eintrag name="outside"aktion="getUrl" variables=""/>
             </submenu>
            <eintrag name="landscape" aktion="getUrl" variables=""/>
            <eintrag name="nature" aktion="getUrl" variables=""/>
          </menu>
    <menu name="kontakt" aktion="getUrl" variables="">
    </menu>
    <menu name="impressum" aktion="getUrl" variables="">
        </menu>
</menu>
quadratx ist offline   Mit Zitat antworten
Alt 06-02-2007, 18:14   #2 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
Zitat:
Zitat von quadratx Beitrag anzeigen
Gibt es die Möglichkeit damit auch direkt Bildbezeichnungen anzusteuern?
Was meinst du mit Bildbezeichnungen?
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 06-02-2007, 18:16   #3 (permalink)
Michael C.
 
Registriert seit: Feb 2007
Ort: München
Beiträge: 36
Ich meine damit benannte Ankerpunkte im Film!
quadratx ist offline   Mit Zitat antworten
Alt 06-02-2007, 18:37   #4 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
Zitat:
Zitat von quadratx Beitrag anzeigen
Ich meine damit benannte Ankerpunkte im Film!
Du meinst bezeichnete Frames.

mit gotoAndStop([variable])
bzw gotoAndPlay([variable])
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 06-02-2007, 19:06   #5 (permalink)
Michael C.
 
Registriert seit: Feb 2007
Ort: München
Beiträge: 36
Ja, sorry, ich meine bezeichnete Frames!
Ich habe bisher nur mit buttons innerhalb von flash gearbeitet und so blöd es klingt, auf Grund der schlechten Darstellung von Schriften in Mx schlag ich mich jetzt damit rum.
Habe folgendes ausprobiert im xml-file, aber lach nicht:

PHP-Code:
<eintrag name="person" aktion="gotoAndPlay" variables="[zimmer]"/> 
Wahrscheinlich kann es nicht funktionieren!
quadratx ist offline   Mit Zitat antworten
Alt 06-02-2007, 19:13   #6 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
Wie liest du die XML in FLash ein?

Nur durch das ändern der XML wird sich da natürlich nichts tun, du musst das schon in ActionScript einlesen und weiterverarbeiten.

Zeig mal dein ActionScript!

gruß b.asile
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 06-02-2007, 19:28   #7 (permalink)
Michael C.
 
Registriert seit: Feb 2007
Ort: München
Beiträge: 36
Das Actionscript ist etwas umfangreich.
Ich habe es nicht geschrieben, was sicher offensichtlich ist!
Ich versuche es zu verstehen und scheiter genau an dem
Schnittpunkt beider Dateien, der xml und der Flash Datei.
Ich denke, hier liegt der Hase begraben:
PHP-Code:
Aktionen.gotoURL = function(urlVar) {
    
getURL(urlVar"_blank"); 
Ich muss die Variable für die Aktionen der Buttons in der xml Datei definieren!?
Genau da beißt es aus!
Nachfolgend das ganze Actionsript:
PHP-Code:
stop();
GenerateMenu = function (containernamexydepthxml_element) {
    var 
akt_element;
    var 
akt_eintrag;
    var 
akt_menu container.createEmptyMovieClip(namedepth);
    for (var 
0i<xml_element.childNodes.lengthi++) {
        
akt_eintrag akt_menu.attachMovie("menueintrag""eintrag"+i+"_mc"i);
        
akt_eintrag._x x;
        
akt_eintrag._y y+i*akt_eintrag._height;
        
akt_eintrag.trackAsMenu true;
        var 
col = new Color(akt_eintrag.name);
        
col.setTransform({ra:100rb:100ga:100gb:100ba:100bb:100});
        
akt_element xml_element.childNodes[i];
        
akt_eintrag.aktion akt_element.attributes.aktion;
        
akt_eintrag.variables akt_element.attributes.variables;
        
akt_eintrag.name.text akt_element.attributes.name;
        if (
xml_element.childNodes[i].nodeName == "menu") {
            
akt_eintrag.pfeil._visible false;
            
akt_eintrag._x x+i*akt_eintrag._width;
            
akt_eintrag._y y;
            
akt_eintrag.xml_element akt_element;
            
akt_eintrag.onRollOver akt_eintrag.onDragOver=function () { var this._x;var this._y+this._height;GenerateMenu(akt_menu"submenu_mc"xy1000this.xml_element);var col = new Color(this.name);col.setTransform({ra:100rb:0ga:50gb:50ba:0bb:0});};
        } else if (
xml_element.childNodes[i].nodeName == "submenu") {
            
akt_eintrag._x x;
            
akt_eintrag._y y+i*akt_eintrag._height;
            
akt_eintrag.xml_element akt_element;
            
akt_eintrag.onRollOver akt_eintrag.onDragOver=function () { var this._x+this._width;var this._y;GenerateMenu(akt_menu"submenu_mc"xy1000this.xml_element);var col = new Color(this.name);col.setTransform({ra:100rb:0ga:50gb:50ba:0bb:0});};
        } else {
            
akt_eintrag.pfeil._visible false;
            
akt_eintrag.onRollOver akt_eintrag.onDragOver=function () { akt_menu.submenu_mc.removeMovieClip();var col = new Color(this.name);col.setTransform({ra:100rb:0ga:50gb:50ba:0bb:0});};
        }
        
akt_eintrag.onRollOut akt_eintrag.onDragOut=function () { var col = new Color(this.name);col.setTransform({ra:100rb:100ga:100gb:100ba:100bb:100});};
        
akt_eintrag.onRelease = function() {
            
Aktionen[this.aktion](this.variables);
            
CloseSubmenus();
        };
    }
};
// Hauptmenü erzeugen
CreateMainMenu = function (xydepthmenu_xml) {
    
GenerateMenu(this"mainmenu_mc"xydepthmenu_xml.firstChild);
    
mainmenu_mc.onMouseUp = function() {
        if (
mainmenu_mc.submenu_mc && !mainmenu_mc.hitTest(_root._xmouse_root._ymousetrue)) {
            
CloseSubmenus();
        }
    };
};
// Sämtliche Untermenüs entfernen, falls welche im Hauptmenü existieren
CloseSubmenus = function () {
    
mainmenu_mc.submenu_mc.removeMovieClip();
};
// Objekt verwaltet die Aktionen die den jeweiligen Einträgen
// innerhalb der XML-Struktur zugewiesen wurden.
Aktionen = new Object();
Aktionen.message = function(msg) {
    
ausgabe_txt.text msg;
};
Aktionen.gotoURL = function(urlVar) {
    
getURL(urlVar"_blank");
};
Aktionen.newMenu = function(menuxml) {
    
menu_xml.load(menuxml);
};
// XML-Laden und anschliessend Hauptmenü ausführen
menu_xml = new XML();
menu_xml.ignoreWhite true;
menu_xml.onLoad = function(status) {
    
CreateMainMenu(3421380this);
    if (
status) {
        
ausgabe_txt.text "Daten geladen...";
    } else {
        
ausgabe_txt.text "Fehler:  Daten konnten nicht geladen werden!";
    }
};
// Erstes Menü laden
menu_xml.load("menu1.xml"); 
quadratx ist offline   Mit Zitat antworten
Alt 06-02-2007, 19:32   #8 (permalink)
Michael C.
 
Registriert seit: Feb 2007
Ort: München
Beiträge: 36
Die Seite , die ich gerade für mich mache, solleigentlch sehr sauber und puristisch sein. Keine großen Spielereien, da ich als Photograph Wert auf eine gute Bildpräsentation lege, also Mittelpunkt Bild!
Thanks for Help!

Gruß

Michael
quadratx ist offline   Mit Zitat antworten
Alt 06-02-2007, 19:40   #9 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
PHP-Code:
<eintrag name="person" aktion="_parent._parent.gotoAndPlay" variables="zimmer"/> 
Sollte eigentlich funktionieren oder nicht?

gruß b.asile
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 06-02-2007, 20:34   #10 (permalink)
Michael C.
 
Registriert seit: Feb 2007
Ort: München
Beiträge: 36
Irgendwie nicht.....

Das script für das menü und das bezeichnete Frame liegen auf _level 0
in dem frame ist nur ein schwarzes rechteck als reiner Funktionstest, müßte man also sehen.
hmmmm..............
quadratx ist offline   Mit Zitat antworten
Alt 06-02-2007, 20:41   #11 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
PHP-Code:
Aktionen = new Object();
Aktionen.message = function(msg) {
    
ausgabe_txt.text msg;
};
Aktionen.gotoURL = function(urlVar) {
    
getURL(urlVar"_blank");
};
Aktionen._root.gotoAndPlay = function(urlVar) {
    
_root.gotoAndPlay(urlVar);
};
Aktionen.newMenu = function(menuxml) {
    
menu_xml.load(menuxml);
}; 
PHP-Code:
<eintrag name="person" aktion="_root.gotoAndPlay" variables="zimmer"/> 
Sorry war mein fehler habe das gerade eben falsch verstanden.
Jetzt aber
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 06-02-2007, 21:17   #12 (permalink)
Michael C.
 
Registriert seit: Feb 2007
Ort: München
Beiträge: 36
jetzt wollt ich dir schon vor lauter freude einen Kasten bier rüberschieben*ggg
aber irgendwo hängt der wurm.......wahrscheinlich bin ich zu dämlich ihn zu sehen. das menü funzt, aber der bursche bewegt sich nicht zu dem bezeichneten Frame.
Das Actionscript für das Menü befindet sich ein einer durchgehenden Ebene. In der Ebene darüber ist im dritten Frame ein Stop! Frame vier in einer anderen Ebene läuft unter der Bildbezeichnung "zimmer" mit einem Rechteck, bin ich jetzt ganz dösbaddelig???

quadratx ist offline   Mit Zitat antworten
Alt 06-02-2007, 21:26   #13 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
PHP-Code:
Aktionen._root.gotoAndPlay = function(urlVar) {
   
trace("Funktion _root.GotoAndPlay mit Parameter: "+urlVar+" aufgerufen");
   
_root.gotoAndPlay(urlVar);
}; 
Wird die FUnktion denn ausgeführt?
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile ist offline   Mit Zitat antworten
Alt 06-02-2007, 21:49   #14 (permalink)
Michael C.
 
Registriert seit: Feb 2007
Ort: München
Beiträge: 36
Habe das script eingefügt. Die swf-Datei gibt keine Meldung raus. (sollte ja bei einer trace-action im Bild erscheinen)
quadratx ist offline   Mit Zitat antworten
Alt 06-02-2007, 21:55   #15 (permalink)
mushroom powered
 
Benutzerbild von b.asile
 
Registriert seit: Jun 2005
Ort: Amsterdam
Beiträge: 2.649
Evtl. liegts an dem _root. hol das "nur" hier mal raus:

PHP-Code:
<eintrag name="person" aktion="gotoAndPlay" variables="zimmer"/> 
und hier auch:
PHP-Code:
Aktionen.gotoAndPlay = function(urlVar) { 
__________________
[ WHEN THE GOING GETS WEIRD THE WEIRD TURN PRO ]

devboy.org
b.asile 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 01:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele