Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX 2004

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-01-2008, 07:09   #1 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
XML-Menu - ich blicks nicht mehr...leider

HalliHallo,

so jetzt hab ich die Nacht durchgearbeitet und alles funzt super, bis auf die letzte Sache. Das XML_Menu, Button ordnet er richtig an und die Button-Label macht er auch richtig, nur die Zuordnung zum onRelease-Event macht er net richtig.

Mache ich es wie unten im Code wird über alle Button die gleiche (und zwar die letzte) XML-Datei geladen.
PHP-Code:
//Button durchackern
var b:XML = new XML();
b.ignoreWhite true;

function 
doButt(datas,whichButt,gow) {
    
refs = new Array();
    
_root.createEmptyMovieClip("lpButt",30,0,0,875,550);
    var 
posx 364.8;
    var 
posy 233.8;
    
b.load(datas);
    
b.onLoad = function() {
    var 
photos:Array = b.firstChild.childNodes;
    for (
j=0j<photos.lengthj++) {
        var 
mc lpButt.attachMovie(whichButt"sb"+jj);
        var 
urlText:String photos[j].attributes.url;
        
trace (photos[j].attributes.url);
        
mc.onRelease = function() {
            
trace(urlText);
            
doText(urlTextgow);
        }
        
mc.samplebtxt.text photos[j].attributes.label;
        
mc._x posx;
        
mc._y posy;
        
posy += 23.8;
    }
    }

Mache ich es über das eval Objekt und gebe den String weiter an den Button führt er zwar das Trace aus aber die Funktion auf dem Button nicht....
PHP-Code:
//Button durchackern
var b:XML = new XML();
b.ignoreWhite true;

function 
doButt(datas,whichButt,gow) {
    
_root.createEmptyMovieClip("lpButt",30,0,0,875,550);
    var 
posx 364.8;
    var 
posy 233.8;
    
b.load(datas);
    
b.onLoad = function() {
    var 
photos:Array = b.firstChild.childNodes;
    for (
j=0j<photos.lengthj++) {
        var 
mc lpButt.attachMovie(whichButt"sb"+jj);
        var 
tcl = eval(mc);
        
tcl.urlText photos[j].attributes.url;
        
trace (photos[j].attributes.url);
        
mc.samplebtxt.text photos[j].attributes.label;
        
mc._x posx;
        
mc._y posy;
        
posy += 23.8;
        }
    }

Button Code zum zweiten Script (liegt auf dem Button-MC im 1.Frame):
PHP-Code:
var urlText:String;

onRelease = function() {
    
trace (urlText);
    
doText(urlText0);
    
trace("Gedrückt");

Vielen Dank fürn Denkanstoss oder ne Lösung, muss es ja nur bis heut fertig haben

Dank im Vorraus
elricco

Geändert von elricco (20-01-2008 um 07:14 Uhr)
elricco ist offline   Mit Zitat antworten
Alt 20-01-2008, 07:38   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 18.050
var mc = lpButt.attachMovie(whichButt, "sb"+j, j);
mc.urlText = photos[j].attributes.url;
mc.onRelease = function() {
trace(this.urlText);
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 20-01-2008, 07:53   #3 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
Wunderbar, vielen vielen Dank dem Herrn Seib.
Auf sowas komm ich gar nicht erst, bin aber jetzt auch seit fast 24 Std. dran, aber damit ist alles fertig.

Wirklich vielen Dank, jetzt kann mich der Kunde nur noch mit Textänderungswünschen erfreuen

In Dank
elricco
elricco ist offline   Mit Zitat antworten
Alt 01-05-2008, 07:54   #4 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
Mal wieder das alte Spielchen, nur begreif ichs diesmal nicht, da alles genauso wie sonst angelegt ist. Die Button werden richtig angelegt, die BIlder werden in den Button geladen, aber de Button erhält keine Funktion! Sprich er kann nicht geklickt werden...

Und da ich mal wieder seit einigen Stunden dran bin und das lustige Spielchen Spiele "Finde den Fehler" wollt ich euch auch dran teilhaben lassen.

PHP-Code:
var tl this;
function 
doXML(xml:String) {
    var 
w:XML = new XML();
    
w.ignoreWhite true;
    
w.load(path+xml);
    
w.onLoad = function(success) {
        if(
success) {
            
tl.createEmptyMovieClip("pics"1);
            
pics._y 60;
            var 
teams:Array = w.firstChild.childNodes;
            var 
xPos 0;
            var 
yPos 0;
            for (
j=0j<teams.lengthj++) {
                if (
== 3) {
                    
xPos 0;
                    
yPos 75;
                }
                else if (
== 6) {
                    
xPos 0;
                    
yPos 150;
                } 
                var 
mc pics.attachMovie("ladybutton""ladybutton"+jj);
                
trace (("ladybutton"+j) + " angelegt");
                
mc.urltxt teams[j].attributes.urlse;
                var 
picture teams[j].attributes.pic;
                
mc.onRelease = function() {
                    
getURL(this.urltxt"_blank");
                }
                
mc.loadMovie(picturemc.holder);
                
trace(mc.urltxt);
                
mc._x xPos;
                
mc._y yPos;
                
xPos += 75;
            }
        }
    }
}

doXML("presspic.xml"); 
Vielen Dank fürs mitraten

Gruß elricco
elricco ist offline   Mit Zitat antworten
Alt 01-05-2008, 15:28   #5 (permalink)
----------
 
Registriert seit: Dec 2006
Ort: Bochum
Beiträge: 53
Sehr interessant ist auch, wenn ich das Verhalten des zu attachenden Button-MCs in der Bibliothek in "Schaltfläche" ändere, habe ich meine funktion, aber das Bild wird nicht in den Button geladen.
Irgendwie verwirrt mich Flash... kann mir bitte jemand helfen bze. mich aufklären (also über dieses Flash-Problem, BLumen und Bienchen kenn ich schon)?
elricco ist offline   Mit Zitat antworten
Alt 01-05-2008, 15:49   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 18.050
pics hast du erzeugt und lädst ein bild da rein.
d.h. wenn das bild angekommen ist, dann wird das bild gegen pics ausgetauscht. das 'alte' pics mit deiner buttonfunktion gibt es dann nicht mehr.

a)
ein leeres mc anlegen, da deine buttonfunktionen drauflegen
in dieses mc ein weiteres leeres mc (pics) anlegen und da dein bild reinladen

oder
b)
warten bis das bild da ist und dann erst die buttonfunktion setzen.

lezteres hat den vorteil, das es erst dann eine button-funktion gibt, wenn das bild tatsächlich da ist.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib 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 02:01 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele