XML og mouse event
Ok, jeg ved ikke helt hvordan jeg skal beskrive mit problem, men her er et forsøg:Jeg har modficeret et Flash/XML eksempel som jeg har set her. http://actionscript-toolbox.com/xmlintoflash.php
Min XML kode ser således ud:
<nyheder>
<reference id="01">
<url>http://www.newz.dk</url>
<overskrift>Newz</overskrift>
</reference>
<reference id="02">
<url>http://www.google.com</url>
<overskrift>Google</overskrift>
</reference>
<reference id="03">
<url>http://www.jubii.dk</url>
<overskrift>Jubii</overskrift>
</reference>
<reference id="04">
<url>http://www.msn.dk</url>
<overskrift>MSN</overskrift>
</reference>
<reference id="05">
<url>http://www.yahoo.dk</url>
<overskrift>Yahoo</overskrift>
</reference>
</nyheder>
========================================================
I første frame af min .SWF harjeg følgende kode :
function Article(id, link, overskrift) {
this.id = id;
this.link = link;
this.overskrift = overskrift;
}
function makeArray(success) {
var i, j, mainTag, id, link, overskrift;
if (success) {
for (i=0; i<=moXML.childNodes.length; i++) {
if (this.childNodes[i].nodeValue == null && this.childNodes[i].nodeName == "nyheder") {
mainTag = this.childNodes[i];
}
}
for (i=0; i<=mainTag.childNodes.length; i++) {
if (mainTag.childNodes[i].nodeName == "reference") {
articleTag = mainTag.childNodes[i];
id = articleTag.attributes["id"];
for (j=0; j<articleTag.childNodes.length; j++) {
if (articleTag.childNodes[j].nodeName != null) {
if (articleTag.childNodes[j].nodeName == "url") {
link = articleTag.childNodes[j].firstChild.nodeValue;
} else if (articleTag.childNodes[j].nodeName == "overskrift") {
overskrift = articleTag.childNodes[j].firstChild.nodeValue;
}
}
}
thisArticle = new Article(id, link, overskrift);
articles.push(thisArticle);
delete thisArticle;
}
}
_root.gotoAndStop("showArticles");
}
}
// articles is an array of Article objects
var articles = [];
// read xml and display when loaded
moXML = new XML();
moXML.ignoreWhite = true;
moXML.onLoad = makeArray;
moXML.load("test.xml");
stop();
=====================================================
10 frames længere frem i min .swf har jeg en frame label der hedder "showArticles"
og i framen har jeg følgende kode :
placey = getProperty("ref0", _y);
ref0.menu.news = "";
for (i=0; i<articles.length; i++) {
duplicateMovieClip(ref0, "ref" + i, i);
setProperty("ref"+i, _y, placey + 15*i);
ref = eval("ref"+i);
ref.menu.news = "<a href='" + articles[i].link + "'>" + articles[i].overskrift + "</a><br>";
//news += " <font color='#cccccc'>(" + articles[i].source + ")</font><br>";
}
=========================================================
I samme frame, men et andet lag, har jeg et MovieClip som hedder "ref0" som består af 2 MovieClips og et action layer i toppen. I Action layeret står der følgende action:
pil. _visible = 0
menu.onRollOver = function(){
pil. _visible = 1
}
Det ene MovieClip hedder "pil" og er en grafisk pil. Det andet hedder "menu". "menu" består af at Dynamisk txtfelt som har et variabelt navn "news".
Det jeg godt vil spørge om er:
Hvordan laver jeg en "onRollOver" på MovieClipet "menu" som sætter "pil" til _visible = 1 og dermed viser MovieClipet "pil"
Som i kan se i eksemplet har jeg forsøgt mig med:
menu.onRollOver = function(){
pil. _visible = 1
}
Men der sker ikke noget.
Jeg tror måske at i er nødtil at se .fla og det må i da også gerne, men kig lige eksemplet igennem først og se om har mulighed for at gøre noget. Ellers er det fjollet.
Jeg håber der nogen der kan løse det.
