Avatar billede henrywood Nybegynder
25. september 2008 - 17:32

Flash Actionscript 3 - indlæsning af flashvars

Hej eksperter !

Jeg er udvikler på et projekt og ved intet om flash andet end at man kan anvende flashvars til at give flash input.

Jeg har fra en anden på projektet fået en flash med 4 billeder.
Jeg har forsøgt at sige til ham at han må lave flashen således at når man klikker på billede 1 gås til en URL, som angivet ved en flashvar. Dermed er der altså brug for 4 flashvars.
Han har så meddelt at det kan han ikke finde ud, hvorfor jeg har googlet lidt og efter lidt tid er kommet fra til følgende actionscript

////////////////////////////////////////////////////7
//   
//    ACTIONSCRIPT 3.0 / FLASH CS3
//
////////////////////////////////////////////////////7

package
{
    import flash.display.MovieClip;
    import flash.display.LoaderInfo;
    import flash.external.*;
    import flash.image.*;
   
    public class Main extends MovieClip {
   
        private var url1:String;
        private var url2:String;
        private var url3:String;
        private var url4:String;
        private var my_array:Array=new Array();
       
        public function Main()
        {
            getHTMLvars();
           
            url1 = my_array[0];
            url2 = my_array[1];
            url3 = my_array[2];
            url4 = my_array[3];

            // Make sure the images are called image1, image2, image3 and image4
            _root.image1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandlerUrl1);
            _root.image2.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandlerUrl2);
            _root.image3.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandlerUrl3);
            _root.image4.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandlerUrl4);
           
        }

        public function mouseDownHandlerUrl1(event:MouseEvent):void {
            ExternalInterface.call("goToURL", url1);
        }

        public function mouseDownHandlerUrl2(event:MouseEvent):void {
            ExternalInterface.call("goToURL", url2);
        }
       
        public function mouseDownHandlerUrl3(event:MouseEvent):void {
            ExternalInterface.call("goToURL", url3);
        }

        public function mouseDownHandlerUrl4(event:MouseEvent):void {
            ExternalInterface.call("goToURL", url4);
        }

        private function getHTMLvars():void
        {
            var value:String;
            var obj:Object=LoaderInfo(root.loaderInfo).parameters;
            for (value in obj)
            {
                id=String(obj[value]);
                my_array.push(id);
            }
        }
       
        /////////////////////////////////////////////////////////////////
        //
        //    In the HTML there needs to be a callback called goToURL:
        //
        // <script language="javascript">
        //
        //    function goToURL(url) {
        //        document.location.href = url;
        //    }
        //
        //    </script>
        //
        /////////////////////////////////////////////////////////////////
       
    }
   
}

Jeg kan installerere Flash CS3 i en trial (har den ikke installeret nu), men før jeg gør det vil jeg gerne vide, om ovenstående kode vil virke og hvad der evt. skal rettes for at få det til at virke ?

Grunden til at jeg anvender ExternalInterface er at nogle af URLerne evt. skal åbne i popup og det kan jeg så styre via javascript.

Derudover: Hvor skal dette sættes ind ?


Henrik
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester