flash: zugriff auf elemente eines geladenen films

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • flash: zugriff auf elemente eines geladenen films

    hallo zusammen.

    als quereinsteiger in flash (komme aus der cpp- und php-welt) stellt sich mir nun die frage, wie ich auf die elemente eines per MovieClipLoader geladenen films zugreife.

    - ich habe meine datei main.fla
    - inhalt von main.fla ist ein dynamischer text namens 'input_text'
    - main.fla belegt via actionscript diesen text mit inhalt:
    PHP-Code:
    input_text.text 'foo'
    - als zweites gibt es eine klasse namens 'test_class'
    - inhalt von test_class.as
    PHP-Code:
    class test_class
    {
            public var 
    target_mc:MovieClip;
            
            public function 
    set_target(temp_mc:MovieClip):Void
            
    {
                    
    target_mc temp_mc;
            }

    - als drittes nun den hauptfilm 'test.fla'
    - dieser film erzeugt einen leeren movieclip und laed via moviecliploader-klasse den film von main.fla (also main.swf) in den leeren clip.
    - wenn das laden abgeschlossen ist werden testwerte des clips selbst (alphawert) geaendert und zur pruefung ausgegeben.
    - auf eigenschaften von objekten in diesem film kann jedoch nicht zugegriffen werden.
    - actionscript in test.fla:
    PHP-Code:
    import test_class;

    _root.createEmptyMovieClip("loaded_movieclip_mc"1);

    var 
    test_class_instance:test_class = new test_class();
    test_class_instance.set_target(_root.loaded_moviec  lip_mc);

    var 
    listener = new Object();
    var 
    cliploader = new MovieClipLoader();

    listener.onLoadComplete = function()
    {
            
    trace(test_class_instance.target_mc._alpha);
            
    test_class_instance.target_mc._alpha 80;
            
    trace(test_class_instance.target_mc._alpha);
            
    trace(test_class_instance.target_mc.input_text.tex  t);
    }
    cliploader.addListener(listener);

    cliploader.loadClip("main.swf"test_class_instance.target_mc); 
    - ausgabe:
    100
    79.6875
    undefined

    zu finden sind die drei dateien auch als zip unter
    http://loci.urban-breed.de/public/test.zip

    wer kann mir nun erkaeren warum ich den text aus dem textfield nicht ansprechen kann?
    1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

    /(bb|[^b]{2})/

  • #2
    vereinfacht waere es dann:

    PHP-Code:
    createEmptyMovieClip("movieclip_mc"1);

    var 
    listener_obj:Object = new Object();
    var 
    cliploader_mcl:MovieClipLoader = new MovieClipLoader();

    listener_obj.onLoadComplete = function()
    {
            
    movieclip_mc.input_text.text 'bar';
    }
    cliploader_mcl.addListener(listener_obj);

    cliploader_mcl.loadClip("main.swf"movieclip_mc); 
    hier kann man nun genausowenig auf die elemente von main.swf aus der aufrufenden datei aus zugreifen.
    1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

    /(bb|[^b]{2})/

    Kommentar


    • #3
      Du kannst sehr wohl darauf zugreifen, aber nicht bevor die Objekte überhaupt existieren, die werden frühestens auf dem ersten Frame plaziert. Der onLoadComplete EventHandler wird vorher ausgelößt.

      Guck mal in's Manual, was du brauchst ist onLoadInit.

      Gruß
      Olli

      Kommentar


      • #4
        funktioniert perfekt. vielen dank.
        1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

        /(bb|[^b]{2})/

        Kommentar

        Lädt...
        X