0

クリックした画像に応じて同じボタンの値を変更しようとしているフラッシュファイルがありますが、異なる値で機能させることはできません(静的な値でのみ機能させることができます)。

なので:

var weblinkXML:XML = new XML();
weblinkXML.ignoreWhite = true;
weblinkXML.load("xml/main.xml");
weblinkXML.onLoad = function(success) {
    trace("success = "+success);
for (var i:Number = 0; i< weblinkXML.childNodes.length; i++) {
PPTBUTTON.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage_1);
        function fl_ClickToGoToWebPage_1(event:MouseEvent):void
        {
            navigateToURL(new URLRequest("test/test.html"), "_blank");
        }
    }
}

私のXML:

<?xml version="1.0" encoding="iso-8859-1"?>
<content>
    <!-- general vars -->
    <settings>
        <item name="copyright"><![CDATA[<font letterspacing="0.5">© 2012 | <a href="event:privacy,0">PRIVACY POLICY</a></font>]]></item>
        <item name="companyName"><![CDATA[<font letterspacing="-2"><b>TANITA</b></font>]]></item>
        <item name="companySlogan"><![CDATA[<font letterspacing="1">PHOTO PORTFOLIO</font>]]></item>
        <!--mp3Url srcUrl="music.mp3"/-->
        <imagesPage>
            <image imageUrl="images/tfile_splash_pic_main.jpg" />
        </imagesPage>
    </settings>

    <!-- menu -->
        <menu>
            <button><![CDATA[PORTFOLIO]]></button>  
            <button><![CDATA[ABOUT]]></button>  
            <button><![CDATA[NEWS]]></button>   
            <button><![CDATA[CONTACTS]]></button>   
        </menu>

        <gallery gallName="Crystal Cabin Awards 2012">
            <image imageUrl="gallery/tfile_gall_small_01.jpg" imagesBig="gallery/tfile_gall_big_01.jpg" buttonName="PPTBUTTON" targ="_self" href="http://www.google.com"/>
        <image imageUrl="gallery/tfile_gall_small_02.jpg" imagesBig="gallery/tfile_gall_big_02.jpg" buttonName="PPTBUTTON" targ="_self" href="http://www.youtube.com"/>
        <image imageUrl="gallery/tfile_gall_small_03.jpg" imagesBig="gallery/tfile_gall_big_03.jpg" buttonName="PPTBUTTON" targ="_self" href="http://www.yahoo.com"/>
            <image imageUrl="gallery/tfile_gall_small_04.jpg" imagesBig="gallery/tfile_gall_big_04.jpg"/>
            <image imageUrl="gallery/tfile_gall_small_05.jpg" imagesBig="gallery/tfile_gall_big_05.jpg"/>
            <image imageUrl="gallery/tfile_gall_small_06.jpg" imagesBig="gallery/tfile_gall_big_06.jpg"/>
            <image imageUrl="gallery/tfile_gall_small_07.jpg" imagesBig="gallery/tfile_gall_big_07.jpg"/>
            <image imageUrl="gallery/tfile_gall_small_08.jpg" imagesBig="gallery/tfile_gall_big_08.jpg"/>
        </gallery>

私のxmlは複雑ですが、フラッシュ全体で使用されています。たぶん私はそれを次のようにスタンドアロンのxmlに減らすことができます:

<image imageUrl="gallery/tfile_gall_small_02.jpg" imagesBig="gallery/tfile_gall_big_02.jpg" buttonName="PPTBUTTON" targ="_self" href="http://www.youtube.com"/>

私の問題は、hrefを変数に入れて、「test / test.html」の代わりに使用しようとしたのですが、機能しません。

また、for内にメソッドがあることも認識していますが、この時点で、このコードを何度も繰り返したため、どのように進めるかがわかりません。

4

1 に答える 1

0

href属性のリストを取得する方法は次のとおりです。

var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("xml/main.xml");
loader.addEventListener(IOErrorEvent.IO_ERROR, function errorHandler(event:IOErrorEvent):void {
    trace("Error loading XML" + event.type);
});
loader.addEventListener(Event.COMPLETE, function(event:Event):void {
    trace("success = " + event);
    var xml:XML = new XML(loader.data);
    var xmllist:XMLList = xml.gallery.children();
    for (var i:Number = 0; i < xmllist.length(); i++) {
        trace(XML(xmllist[i]).attribute("href"));
    }
});
loader.load(request);

次の出力がありました。

success = [Event type="complete" bubbles=false cancelable=false eventPhase=2]
http://www.google.com
http://www.youtube.com
http://www.yahoo.com

それがお役に立てば幸いです。

于 2012-11-03T01:42:08.147 に答える