动作脚本(2)问题

时间:2011-06-10 01:14:51

标签: flash actionscript actionscript-2

自从我使用闪光灯以来已经很久了。我想要完成的是使用变量作为onRollOver事件的触发器。 cname变量返回“AUS”,但它当前不起作用。如果我使用

AUS.onRollOver

它有效

但是当我使用

cname.onRollOver

失败了。对不起n00b问题。

this[cname].onRollOver 

也失败了

我的完整代码:

function loadXML(loaded) {
    if (loaded) {
        _root.country = this.firstChild.childNodes;
        var cname = country[0].childNodes[0].firstChild.nodeValue;
        var clink = country[0].childNodes[1].firstChild.nodeValue;
        var cregion = country[0].childNodes[2].firstChild.nodeValue;
        var ctext = country[0].childNodes[3].firstChild.nodeValue;

        trace(cname);
        trace(clink);
        trace(cregion);
        trace(ctext);

        this[cname].onRollOver = function() {
            var colorful = new Color(this);
            colorful.setRGB(0x0099d9);
            subline.text = ctext;
        };
        this[cname].onRollOut = function() {
            var colorful = new Color(this);
            colorful.setRGB(0x939598);
            subline.text = "";
        };
        this[cname].onRelease = function(){
            getURL(clink, _self);
        }
    } else {
        content = "file not loaded!";
    }
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("countries.xml");

我的完整xml(countries.xml):

<?xml version="1.0"?>

<countries>
    <country>
        <name>AUS</name>
        <hyperlink>http://www.google.com.au/</hyperlink>
        <region>australasia</region>
        <infotext>Welcome to Australia</infotext>
    </country>
    <country>
        <name>USA</name>
        <hyperlink>http://www.google.com/</hyperlink>
        <region>australasia</region>
        <infotext>Welcome to America</infotext>
    </country>
</countries>

1 个答案:

答案 0 :(得分:0)

这[cname] .onRollOver = //一些回调函数