Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-02-2005, 22:42   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
Question werte aktualisieren für eine schleife

hi ich komme nicht weiter. ich wollte in der for schleife den wert beliebig ändern.damit das menü auf und zu klappt aber jetzt komme ich nicht mehr weiter.

ActionScript:
  1. var menu:Array=["Menü","Home","Galerie","News","Bilder","Bilder","wasgeht"];
  2.  
  3. //trace(menu.sort());sortieren
  4.  
  5. //box für navi
  6. _global.color_line=0xFFFFFF;
  7. _global.color_fill=0x00005A;
  8. //größe der box
  9. h=20;
  10. br=80;
  11. x=200;
  12. y=50;
  13.  
  14. //css für text
  15. _global.style = new TextFormat();
  16. _global.style.bold = true;
  17. _global.style.color = 0xFFFFFF;
  18. _global.style.size = h-5;
  19. _global.style.font = "Arial";
  20. //ende
  21.  
  22. z=menu.length;
  23.  
  24. _root.nav0.onRollOver = function(){
  25. z=1;
  26. trace("over"+z);
  27. }
  28. _root.nav0.onRollOut = function(){
  29. z=menu.length
  30. trace("out"+z);
  31. }
  32.  
  33.  
  34. for(i=0; i<=menu.length-z; i++){
  35.     trace(z);
  36. //Farbflechen
  37. _root.createEmptyMovieClip("nav"+i, i);
  38. _root["nav"+i].lineStyle(1, color_line, 100);
  39. _root["nav"+i].beginFill(color_fill, 100);
  40. _root["nav"+i].moveTo(x, y+(h*i));
  41. _root["nav"+i].lineTo(x, y-h+(h*i));
  42. _root["nav"+i].lineTo(x+br, y-h+(h*i));
  43. _root["nav"+i].lineTo(x+br, y+(h*i));
  44. _root["nav"+i].endFill();
  45. //textpfelder für navi
  46. _root.createTextField("txt"+i, "10"+i, x+2, y-h+(h*i), x+br, h);
  47. _root["txt"+i].text = menu[i];
  48. //text box Einstellungen
  49. _root["txt"+i].setTextFormat(style);
  50. _root["txt"+i].selectable = false;
  51. _root["txt"+i].wordWrap = false;
  52. _root["txt"+i].multiline = false;
  53. _root["txt"+i].autoSize = false;
  54. //btm für navi
  55.  
  56.     _root["nav"+i].onRollOver = function(){
  57.     z=menu.length;
  58.     }
  59.     _root["nav"+i].onRollOut = function(){
  60.     z=1;
  61.     }
  62.  
  63. }

Geändert von flozwo (17-02-2005 um 23:49 Uhr)
flozwo ist offline   Mit Zitat antworten
Alt 17-02-2005, 23:07   #2 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
also ich hatte auch zwischen durch mal gedacht das man das mit einem onEnterFrame machen kann bin mir aber nicht sicher.
flozwo ist offline   Mit Zitat antworten
Alt 18-02-2005, 09:30   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
hi also weis da keiner eine antowort drauf oder istr das nicht eindeutig was ich da machen will? also ich will ein pulldownmenü machen und der erste eintrag aus einem array ist am anfang immer das erste sichtbar. dann wenn man druaf geht soll der rest des arrays sichtbar sein.

also ich habe das ganz mit einer for schleife gamacht aber ich bin mir nciht sicher ob das so eine gute idee war. weil ich denke mal das das man auch mit einem attachMovie oder mit einem duplicateMovie machen kann.

also ich würde mich schon freuen wenn jemand nur eine kleinigkeit zu schreibt was ich jetzt machen soll.
flozwo ist offline   Mit Zitat antworten
Alt 18-02-2005, 09:42   #4 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Hy.

Du weißt nav0 2x ein onRollOver zu.
Das brauchst Du doch garnicht um es zu testen.

Schreibe doch die trace Anweisung mit in die for-Schleife.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 18-02-2005, 10:13   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
also du meinst das so ? oder wie
ActionScript:
  1. var menu:Array=["Menü","Home","Galerie","News","Bilder","Bilder","wasgeht"];
  2.  
  3. //trace(menu.sort());sortieren
  4.  
  5. //box für navi
  6. _global.color_line=0xFFFFFF;
  7. _global.color_fill=0x00005A;
  8. //größe der box
  9. h=20;
  10. br=80;
  11. x=200;
  12. y=50;
  13.  
  14. //css für text
  15. _global.style = new TextFormat();
  16. _global.style.bold = true;
  17. _global.style.color = 0xFFFFFF;
  18. _global.style.size = h-5;
  19. _global.style.font = "Arial";
  20. //ende
  21.  
  22. z=menu.length;
  23.  
  24. for(i=0; i<=menu.length-z; i++){ 
  25.  
  26. //Farbflechen
  27. _root.createEmptyMovieClip("nav"+i, i);
  28. _root["nav"+i].lineStyle(1, color_line, 100);
  29. _root["nav"+i].beginFill(color_fill, 100);
  30. _root["nav"+i].moveTo(x, y+(h*i));
  31. _root["nav"+i].lineTo(x, y-h+(h*i));
  32. _root["nav"+i].lineTo(x+br, y-h+(h*i));
  33. _root["nav"+i].lineTo(x+br, y+(h*i));
  34. _root["nav"+i].endFill();
  35. //textpfelder für navi
  36. _root.createTextField("txt"+i, "10"+i, x+2, y-h+(h*i), x+br, h);
  37. _root["txt"+i].text = menu[i];
  38. //text box Einstellungen
  39. _root["txt"+i].setTextFormat(style);
  40. _root["txt"+i].selectable = false;
  41. _root["txt"+i].wordWrap = false;
  42. _root["txt"+i].multiline = false;
  43. _root["txt"+i].autoSize = false;
  44. //btm für navi
  45. _root["nav"+i].onRollOver = function(){
  46. z=1;
  47. trace("over"+z);
  48. }
  49. _root["nav"+i].onRollOut = function(){
  50. z=menu.length;   
  51. trace("out"+z);
  52. }
  53. }
flozwo ist offline   Mit Zitat antworten
Alt 18-02-2005, 10:15   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Ja.
Funktioniert das nicht?
Du willst doch testen,
ob der Wert gesetzt wird oder nicht?
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 18-02-2005, 10:22   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
die werte werden gesetzt deswegen wundert mich das das es ncith geht.
flozwo ist offline   Mit Zitat antworten
Alt 18-02-2005, 10:50   #8 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
der wert müsste über der schleife aktualiesiert werden da dran liegt der fehler denke ich oder?
flozwo ist offline   Mit Zitat antworten
Alt 18-02-2005, 10:57   #9 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Du willst das der jeweilige Mc im Array angesprochen
wird, damit er animiert wird?

Versuchen mal:
ActionScript:
  1. _root["nav"+i].onRollOver=function(){
  2. _root[menu[i]].play();
  3.  }
  4.  _root["nav"+i].onRollOut=function(){
  5. _root[menu[i]].gotoAndStop(1);
  6.   }
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 18-02-2005, 11:00   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
ja ich wollte es animation raus machen. aber warum mit play ?
flozwo ist offline   Mit Zitat antworten
Alt 18-02-2005, 11:03   #11 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Ach ich habe es falsch verstanden und jetzt erst
Dein Skript mal richtig betrachtet. Sorry.

Wo ist denn die Animation?
Wo wird da was bewegt oder skaliert?
Was hat "z" damit zu tun?
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 18-02-2005, 11:04   #12 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
was idt denn wenn ich eine Dyn.Maske mache und die größe ändere?
wäre das sinnvoll?
flozwo ist offline   Mit Zitat antworten
Alt 18-02-2005, 11:06   #13 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
ja die animation wollte ich späterreinbringen mit eine break oder mit einem setintervall.
z ist für die anzahl der btm.
flozwo ist offline   Mit Zitat antworten
Alt 18-02-2005, 11:10   #14 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Man kann da echt viele Wege gehen,
die alle ihren Sinn und Unsinn haben, denke ich.

Du kannst auch für jeden Menüpunkt einen
MovieClip erstellen, der abgespielt wird.

Du kannst das Menü aber auch dynamisch erstellen,
was sicher das beste wäre. Dann könntest Du
spielend neue Menüpunkte einfügen, ohne etwas
an der Programmierung ändern zu müssen.
Da kannst Du bei einem RollOver das jeweilige Menü zeichen
lasssen, mit lineTo etc. wie Du es im Skript schon verwendet hast.
Im Array müssten dann z.B. die Angaben liegen, wie Größe
und Position etc.

Ich kann das jetzt leider nicht proggen, weil es
wohl ne Weile dauern würde.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 18-02-2005, 11:17   #15 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 888
ja das war mein gedanke ganz einfach nachher da was zu ändern und das bei einem click ungefähr.
was würdest du denn mir enfehlen?
flozwo 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 13:31 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele