Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-08-2005, 10:34   #1 (permalink)
Anfänger
 
Registriert seit: Aug 2001
Beiträge: 13
ComboBox bleibt leer

Hallo,

habe folgendes Problem, ich möchte versch. Länder in einer ComboBox ausgeben. Fülle diese mit einem Array, nur leider bleibt beim Aufruf der swf das Feld weiß, nicht mal ein Pfeilchen erscheint.

Hier der Code, dieser liegt wie auch die ComboBox in Szene 1, Bild 1, Ebene CBX.

ActionScript:
  1. _root.combobox.setChangeHandler("landListeEinfaerben");
  2.  
  3. // comboBox
  4. _global.style.setStyle("fontFamily", "Verdana");
  5. _global.style.setStyle("fontSize", 10);
  6. _global.style.setStyle("rollOverColor","0xCCCCCC");
  7.  
  8. // combobox
  9. ml = {};
  10. ml.change = function(evt) {
  11. trace(evt.target.selectedItem.label);
  12. };
  13. _root.combobox.addEventListener("change", ml);
  14.  
  15. // Create Array
  16. llisteArray = new Array();
  17.  
  18. // Zum testen falls das Array nicht geht
  19. _root.combobox.addItem({label:"TEST", data:"TEST"});
  20.  
  21. // eigentliches füllen des Array
  22. llisteArray.push({data:"re", label:"La Reunion"});
  23. llisteArray.push({data:"be", label:"Belgium"});
  24. llisteArray.push({data:"ba", label:"Bosnia and Herzegovina"});
  25. llisteArray.push({data:"bg", label:"Bulgaria"});
  26. llisteArray.push({data:"dk", label:"Denmark"});
  27. llisteArray.push({data:"de", label:"Germany"});
  28. llisteArray.push({data:"ee", label:"Estonia"});
  29. llisteArray.push({data:"fi", label:"Finland"});
  30. llisteArray.push({data:"fr", label:"France"});
  31. llisteArray.push({data:"gr", label:"Greece"});
  32. llisteArray.push({data:"gb", label:"Great Britain"});
  33. llisteArray.push({data:"ie", label:"Ireland"});
  34. llisteArray.push({data:"it", label:"Italy"});
  35. llisteArray.push({data:"hr", label:"Croatia"});
  36. llisteArray.push({data:"lv", label:"Latvia"});
  37. llisteArray.push({data:"lt", label:"Lithuania"});
  38. llisteArray.push({data:"nl", label:"Netherlands"});
  39. llisteArray.push({data:"no", label:"Norway"});
  40. llisteArray.push({data:"at", label:"Austria"});
  41. llisteArray.push({data:"pl", label:"Poland"});
  42. llisteArray.push({data:"pt", label:"Portugal"});
  43. llisteArray.push({data:"ro", label:"Romania"});
  44. llisteArray.push({data:"ru", label:"Russia"});
  45. llisteArray.push({data:"se", label:"Sweden"});
  46. llisteArray.push({data:"ch", label:"Switzerland"});
  47. llisteArray.push({data:"cs", label:"Serbia and Montenegro"});
  48. llisteArray.push({data:"es", label:"Spain"});
  49. llisteArray.push({data:"cz", label:"Czech Republic"});
  50. llisteArray.push({data:"tr", label:"Turkey"});
  51. llisteArray.push({data:"hu", label:"Hungary"});
  52. llisteArray.push({data:"by", label:"Belarus"});
  53. llisteArray.push({data:"ls", label:"Lesotho"});
  54. llisteArray.push({data:"za", label:"South Africa"});
  55. llisteArray.push({data:"mz", label:"Mosambique"});
  56. llisteArray.push({data:"zw", label:"Zimbabwe"});
  57. llisteArray.push({data:"bw", label:"Botswana"});
  58. llisteArray.push({data:"mw", label:"Malawi"});
  59. llisteArray.push({data:"na", label:"Namibia"});
  60. llisteArray.push({data:"yt", label:"Mayotte"});
  61. llisteArray.push({data:"ao", label:"Angola"});
  62. llisteArray.push({data:"zm", label:"Zambia"});
  63. llisteArray.push({data:"tz", label:"Tanzania"});
  64.  
  65. _root.combobox.dataProvider = llisteArray;
  66.  
  67. function landListeEinfaerben() {
  68. welchesLand = combobox.getValue();
  69.     _root.w2 = "dz";
  70.     _root.pop.gotoAndPlay(2);
  71.     var farbe = new Color(_root.map.map2.africa01.butt36);
  72.    
  73.     if(_global.farbeAfrica01butt36 == false){
  74.         _global.farbeAfrica01butt36 = true;
  75.         _global.colorAfrica01butt36 = _global.aktiveFarbe;
  76.         farbe.setRGB (_global.aktiveFarbe);
  77.     }else{
  78.         _global.farbeAfrica01butt36 = false;
  79.         farbe.setRGB (_global.standartFarbe);
  80.     }
  81. }

Zur Info: Die Funktion landListeEinfaerben muss ich noch anpassen, ist nur exemplarisch.

Die combobox selber hat folgendes Script

ActionScript:
  1. on (release) {
  2.     ml = {};
  3.    
  4.     ml.change = function(evt) {
  5.         getURL("test.html");   
  6.     };
  7.    
  8.     _root.combobox.addEventListener("change", ml);
  9. }


Ich hoffe jemand kann mir helfen, verzweifel ein wenig, weiß nicht ob ich vielleicht was vergessen oder doppelt drin habe, bin Actionscript/Flash Anfänger.

Geändert von pixelfuzzie (11-08-2005 um 10:42 Uhr)
pixelfuzzie ist offline   Mit Zitat antworten
Alt 11-08-2005, 10:49   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Schieb mal die fla rüber, aus dem Script geht kein offensichtlicher Fehler hervor...

BTW: für Komponenten gibt es hier im FF ein eigenes Board...
  Mit Zitat antworten
Alt 11-08-2005, 11:09   #3 (permalink)
Anfänger
 
Registriert seit: Aug 2001
Beiträge: 13
Habe dir die fla per Mail geschickt.
pixelfuzzie ist offline   Mit Zitat antworten
Alt 11-08-2005, 11:56   #4 (permalink)
Anfänger
 
Registriert seit: Aug 2001
Beiträge: 13
vielleicht noch ein Zusatz arbeite am Mac, vielleicht gibt es dort ja ein generelles Problem ?!
pixelfuzzie ist offline   Mit Zitat antworten
Alt 11-08-2005, 14:36   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Also AUF die combobox ein on(release) zu setzen ist ja schonmal irgendwie flasch. Und das hier:
ActionScript:
  1. on (release) {
  2.         ml = {};
  3.        
  4.         ml.change = function(evt) {
  5.                 getURL("test.html");
  6.         };
  7.        
  8.         _root.combobox.addEventListener("change", ml);
  9. }
...macht eh keinen Sinn. Das ist ein Listener, der in die HZL gehört (wo er in deinem Script ja auch steht).
Übrigens füllt er bei mir (am PC) die Combobox ohne Probleme. Guck mal in den Einstellungen für die Veröffentlichung, ob da "ActionScript 2.0" angewählt ist. Klingt so, als ob dem nicht so wäre...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 11-08-2005, 15:02   #6 (permalink)
Anfänger
 
Registriert seit: Aug 2001
Beiträge: 13
Vielen Dank, funktioniert.

Aber da muss man erst mal drauf kommen, oder?
pixelfuzzie ist offline   Mit Zitat antworten
Alt 11-08-2005, 15:11   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Zitat:
Zitat von pixelfuzzie
Vielen Dank, funktioniert.
Aber da muss man erst mal drauf kommen, oder?
Auf so Einiges muss man erstmal kommen... Aber da du gesagt hast, dass nicht mal der Pfeil angezeigt wird, konnte es eigentlich nurnoch an AS 1.0 liegen.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 11-08-2005, 15:50   #8 (permalink)
Anfänger
 
Registriert seit: Aug 2001
Beiträge: 13
okay, dann weiß man das schon mal für die Zukunft :-)

Hast du auch eine Ahnung wie man die folgende Funktion anpassen kann, damit anhand des data-wertes ein bestimmtes Land eingefärbt werden kann?

Das Kürzel würde ich nun erstmal in meinem Array umbenennen, statt "de" würde ich dann z.B. "America03butt01", nur wie Frage ich das dann ab?

Ist das dann "_root.combobox.selectedItem.data" ?

ActionScript:
  1. function landListeEinfaerben() {
  2.    
  3.     var farbe = new Color(_root.map.map2.america03.butt01);
  4.    
  5.     if(_global.farbeAmerica03butt01 == false){
  6.         _global.farbeAmerica03butt01 = true;
  7.         _global.colorAmerica03butt01 = _global.aktiveFarbe;
  8.         farbe.setRGB (_global.aktiveFarbe);
  9.     }else{
  10.         _global.farbeAmerica03butt01 = false;
  11.         _global.colorAmerica03butt01 = _global.aktiveFarbe.toString();
  12.         farbe.setRGB (_global.standartFarbe);
  13.  
  14.     }
  15. }



komischerweise bekomme ich übrigens noch folgende Fehlermeldungen:

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 11: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
comboboxListener = new Object();

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 12: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
comboboxListener.change = function(eventObj)

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 23: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
_root.combobox.setChangeHandler("landListeEinfaerb en");

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 26: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
_global.style.setStyle("fontFamily", "Verdana");

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 27: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
_global.style.setStyle("fontSize", 10);

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 28: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
_global.style.setStyle("rollOverColor","0xCCCCCC") ;

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 36: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
_root.combobox.addEventListener("change", ml);

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 39: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
llisteArray = new Array();

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 46: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
llisteArray.push({data:"be", label:"Belgium"});

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 88: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
_root.combobox.dataProvider = llisteArray;

**Fehler** Szene=Scene 1, Ebene=logo, Bild=1:Zeile 90: Anweisung muss innerhalb einer on/onClipEvent-Prozedur vorliegen
function landListeEinfaerben() {
pixelfuzzie ist offline   Mit Zitat antworten
Alt 11-08-2005, 16:02   #9 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Deine Errormeldung bedeutet, dass du irgendwas (versehentlich) auf ein Objekt geschrieben hast, was aber in die Hauptzeitleiste gehört.
Zu der Färbenfunktion:
ActionScript:
  1. ml = {};
  2. ml.change = function(evt) {
  3.     landListeEinfaerben(evt.target.selectedItem.data);
  4. };
  5. _root.combobox.addEventListener("change", ml);
  6. //
  7. function landListeEinfaerben(land) {
  8.     _root.w2 = "dz";
  9.     _root.pop.gotoAndPlay(2);
  10.     var farbe = new Color(land);
  11.     if (_global.land == false) {
  12.         _global.land = true;
  13.         _global.land = _global.aktiveFarbe;
  14.         farbe.setRGB(_global.aktiveFarbe);
  15.     } else {
  16.         _global.land = false;
  17.         farbe.setRGB(_global.standartFarbe);
  18.     }
  19. }
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:05 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele