Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-06-2009, 12:14   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2009
Beiträge: 2
Tooltip über XML auf MC legen

Hallo allerseits,

ich baue gerade eine Weltkarte auf der man alle Schweinegrippe Fälle sehen kann, je nach Anzahl der Fälle verändert sich die Farbe des Landes und es soll wenn man mit der Maus über das Land geht ein Tooltip erscheinen mit den genauen Daten, bisher hat das auch ganz gut geklappt, allerdings musste ich immer das komplette as umschreiben, wenn es neue fälle gab oder sich sonst etwas verändert hat, z.B. ein neues Land hinzukommt.
Ich habe schon für jedes Land ein MC angelegt und ihn auf die Bühne an die entsprechende stelle gelegt. Jetzt hab ich nur das Problem, dass ums verrecken über das xml keine Tooltip hin bekomme:

Die XML:
HTML-Code:
<schweinegrippe>
<land id="argentinien" text="Argentinien" kranke="235" tote="0" />
<land id="australien" text="Australien" kranke="1224" tote="0"  />
<land id="oesterreich" text="&amp;#214;sterreich" kranke="5"  tote="0" />
<land id="bahamas" text="Bahamas" kranke="2" tote="0" />
<land id="bahrain" text="Bahrain" kranke="1" tote="0" />
</schweinegrippe>
und hier mein script:

PHP-Code:
stop();

var 
XMLdaten:XML = new XML();
XMLdaten.ignoreWhite=true;
XMLdaten.load('./weltkarte.xml');

XMLdaten.onLoad = function(success:Boolean) {
    if (
success) {
        if (
XMLdaten.status == 0) {
            var 
XMLdatenToXMLString:String = new String();// initializes a new string variable
            
XMLdatenToXMLString XMLdaten.toString();// converts XMLdaten XML object to a string and stores it in XMLdatenToXMLString.

            
var XMLdatenXML:XML = new XML(XMLdatenToXMLString);// creates new XML object with the string contents from above.
            
XMLdatenXML.parseXML(XMLdatenToXMLString);// parses the string from above.

            
var XMLdatenNodes:Object XMLdatenXML.firstChild;// Saves the firstChild (in this case, the outermost element) as an object
            
var XMLdatenNodesChildren:Object XMLdatenNodes.childNodes;// Saves the childNodes of firstChild as an object

            
for (i=0i<XMLdatenNodesChildren.lengthi++) {
                var 
newObj:Object XMLdatenNodes.childNodes[i].attributes.id;// creates a new object out of the child node's id.

                
var newObjColor:Color = new Color(newObj);// creates a new color object with newObj as its target
                
var newObjTT:MovieClip = new MovieClip(newObj);// creates a new color object with newObj as its target
                
var theColor:Number XMLdatenNodes.childNodes[i].attributes.color;//retrieves the hex code value (number) of the attribute color
                
var krank:Number XMLdatenNodes.childNodes[i].attributes.kranke;
                var 
tote:Number XMLdatenNodes.childNodes[i].attributes.tote;
                var 
ort:Object XMLdatenNodes.childNodes[i].attributes.text;
                
                
trace(ort +" Erkrankte: "+krank +" Tote: "+tote +" "ort+" " newObjColor);

                if (
tote>0) {
                    
newObjColor.setRGB(0x000000);
                } else if (
krank>50) {
                    
newObjColor.setRGB(0xa70101);
                } else if (
51>krank>10) {
                    
newObjColor.setRGB(0xff0000);
                } else if (
11>krank>5) {
                    
newObjColor.setRGB(0xff4e00);
                } else if (
6<krank) {
                    
newObjColor.setRGB(0xff7200);
                } else {
                    
newObjColor.setRGB(theColor);// sets the RGB value of newObjColor.
                
}
                
newObjTT.onRollOver = function() {
                    
myTooltip.content "test"+newline+krank+" bestätigter Fall";
                    
myTooltip.showTooltip();
                };
                
newObjTT.onRollOut = function() {
                    
myTooltip.hideTooltip();
                };
            }
        }
    }
        
dbtn.onRollOver = function() {
        
myTooltip.content "<b>Hier klicken!</b>";
        
myTooltip.showTooltip();
    };
    
dbtn.onRollOut = function() {
        
myTooltip.hideTooltip();
    };
    
dbtn.onRelease = function() {
        
gotoAndStop(2);
        
myTooltip.hideTooltip();
    };
}; 
Kann mir jemand einen tipp geben, hab es nun echt schon mit newObjTT als Object, string, mc und button probiert, aber nicht hat geholfen, muss ich noch irgendetwas bei den movieclips einstellen, damit ich sie über die varibal mit onRollOver ansteuern kann? Aber bei den Farben funktioniert es ja auch???

Wäre Super wenn mir da jemand helfen könnte!

Liebe Grüße,

Nick
NickJack ist offline   Mit Zitat antworten
Alt 12-06-2009, 13:11   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du legst zwar mit var newObjTT:MovieClip = new MovieClip(newObj); einen neuen MC an, füllst ihn aber nicht mit Inhalt. Ohne Inhalt ist der MC nicht auswählbar. Setz doch mal bspw. ein Rectangle in den MC. Und ich würde MCs in AS2 mit createEmptyMovieClip anlegen...

Geändert von agedoubleju (12-06-2009 um 15:19 Uhr)
  Mit Zitat antworten
Alt 12-06-2009, 21:08   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2009
Beiträge: 2
Sorry für das späte nachhaken, aber mich hatte dann doch endlich die Müdigkeit überkommen. So jetzt nochmal für dumme bitte, also ich leg mir in as2 einen neune movieclip an und geb den dann, den tool tipp und wie verbinde ich dann den leeren movieclip mit meinen vorhandenen MC's (den Ländern)? beim einfärben schnappt er sich ja auch die richtigen MC's?
Im übrigen heißen meinen vorhanden MCs exakt so wie die die id in der XML.
Deshalb dachte ich ich könnte mir einfach eine variable anlegen, dich ich dann in code umwandle.
NickJack ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
movieclip, onrollover, tooltip, xml

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 03:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele