Flashhilfe.de - Flash Community

swf per Combobox [Flash 10]

 


AntwortenRegistrieren Seite1  

Woppel#1
Benutzerbild von Woppel
Beiträge: 9
Registriert: Apr 2011

11.02.2012, 13:40

Guten Tag,
ich habe eine Frage;
Das AS gibt nach Auswahl xml-Daten aus.
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
package {
     import flash.display.MovieClip;
     import flash.net.URLLoader;
     import flash.net.URLRequest;
     import flash.events.MouseEvent;
     import flash.events.Event;
     import fl.controls.DataGrid;
     import fl.controls.ComboBox;
     import fl.controls.Button;
 
     public class XMLDataGrid extends MovieClip {
        var dg:DataGrid;
        var cb:ComboBox;
        var urlLoader:URLLoader = new URLLoader();
        var loadButton:Button;
        var bookXML:XML;
 
        public function XMLDataGrid():void {
           setupGrid();
           setupComboBox();
           setupButton();
        }
        private function setupGrid():void {
           dg=new DataGrid();
 
           dg.addColumn("Tag");
           dg.addColumn("Datum");
           dg.addColumn("Spiele");
           dg.addColumn("Bets");
           dg.addColumn("Transakt");
           dg.addColumn("Saldo");
           dg.addColumn("Gewinn_Euro");
           dg.addColumn("Gewinn_Prozent");
           //gröpe des datagrid
         dg.setSize(650,100);
              //wieviel Zeilen im datagrid zu sehen sind
         dg.rowCount=5;
           //Wenn ich Spalten hinzufüge, werden sie in ein Array gestellt
         //hier geb ich die Spaltebreiten ein
         dg.columns[0].width=50;
           dg.columns[1].width=90;
           dg.columns[2].width=50;
           dg.columns[3].width=50;
           dg.columns[4].width=90;
           
              //die Position des datagrid
         dg.move(0,100);
 
           addChild(dg);
        }
        private function setupComboBox():void {
           cb = new ComboBox();
              //die elemente der comboBox
         cb.addItem({label: "Konzept ; Darwinistische Säuberung" });
           cb.addItem({label: "Test1" });
           cb.addItem({label: "Test2" });
              //position der combobox
         cb.move(200,50);
           cb.width=220;//breite der konzeptauswahl

           addChild(cb);
        }
        private function setupButton():void {
           loadButton = new Button();
           loadButton.label = "Load Books";
           loadButton.addEventListener(MouseEvent.CLICK, loadBooks);
           loadButton.x = 200;
           loadButton.y = 325;
           addChild(loadButton);
 
 
        }
        private function loadBooks(e:Event):void {
           //Hier wird die cb.selectedLabel gibt einen String zurück, genannt toLowerCase
         //und append. xml, es d.h. flash.xml, ajax.xml
         urlLoader.load(new URLRequest(cb.selectedLabel.toLowerCase()+".xml"));
           urlLoader.addEventListener(Event.COMPLETE, populateGrid);
 
        }
        private function populateGrid(e:Event):void {
           var booksXML:XML = new XML( e.target.data);
           var booksLength:int = booksXML.book.length();
           
              dg.removeAll();
           for (var i:int =0; i<booksLength; i++) {
              dg.addItem({Tag: booksXML.book[i].tag, Datum: booksXML.book[i].datum, Spiele: booksXML.book[i].spiele, Bets: booksXML.book[i].bets, Transakt: booksXML.book[i].transakt, Saldo: booksXML.book[i].saldo, Gewinn_Euro: booksXML.book[i].gewinn_euro, Gewinn_Prozent: booksXML.book[i].gewinn_prozent});
           }
        }
     }
}


Ich möchte nun, dass wenn in der Combobox "Test1" ausgewählt wird, die "Film1.swf" geladen und angezeigt wird,- bzw bei "Test2" die "Test2.swf"
Kann mir jemand den as3 Zusatz schreiben und wo er eingefügt wird?
Schlagwörter: Combobox
Woppel#2
Benutzerbild von Woppel
Beiträge: 9
Registriert: Apr 2011

Themenautor/in

12.02.2012, 12:55

Hallo, ich bin es nochmals :-)

Ich bekomme es einfach nicht hin, habe mal "Arbeitsdateien" hochgeladen,- vielleicht habe ich mich auch nur unglücklich ausgedrückt.

Wäre echt nett, wenn mir jemand helfen könnte.

die zip hat 700 kb, daher der externe linK

http://www.uploadarea.de/files/x38844zdmh2kxs2d7ulysjru5.zip
Woppel#3
Benutzerbild von Woppel
Beiträge: 9
Registriert: Apr 2011

Themenautor/in

13.02.2012, 12:17

Hallo,
ich habe nun dieses Skript-Schnippel entdeckt;

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
function changeHandler(e:Event):void
{
      /* nav */
      trace(e.currentTarget.selectedItem.label);
     
      switch(e.currentTarget.selectedItem.label)
      {
          case "test1":
         
              loadSWF("test1.swf");
         
          break;
          case "test2":
         
              loadSWF("test2.swf");
         
          break;
          case "test3":
         
             loadSWF("test3.swf");
         
          break;
      }
}

function loadSWF(path:String):void
{
      try
      {
          loader.load(new URLRequest(path));
      }
      catch(err:Error)
      {
          trace("err_msg: " + err.message);
      }
      return;
}

function initHandler(e:Event):void
{
      eraseLastContent(container);
     
      if(e.target.actionScriptVersion == 3)
      {
          var movieAVM2:MovieClip = container.addChild(e.target.content) as MovieClip;
          movieAVM2.gotoAndStop(1);
      }
      else
      {
          container.addChild(loader);
      }
      trace("container Childs: " + container.numChildren);
      return;
     
}

function eraseLastContent(container:Sprite):void
{
      if (container.numChildren)
      {
          var lastContent:DisplayObject = container.removeChildAt(0);
          lastContent = null;
      }
      return;
}

function progressHandler(e:ProgressEvent):void
{
      trace("progressHandler: " + e.currentTarget.bytesLoaded / e.currentTarget.bytesTotal * 100);
      return;
}

function ioHandler(e:IOErrorEvent):void
{
      trace(e.text);
      return;
}

init();


ist das der richtige Ansatz oder völlig daneben?

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de