Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-08-2005, 01:40   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 23
Question problem beim erstelln von einem menü

hallo erstma, wie ihr seht bin ich noch net lange hier und ich hab auch vorher noch nie was mit flash gemacht...
hab vor n paar tagen mal angefangen ein menü für eine homepage zu erstellen...
also ich möchte das die buttons ihre farbe ändern wenn man drüber geht, aber die flächen die sich verändern solln sind ein movieclip der am anfang in das menü gefahren kommt und über den buttons (die ja noch keine sind) is eine unsichtbare schaltfläche die die URL aufruft... nur wie mache ich das sich die farbe der buttons verändert wenn man mit der maus über die buttons geht???

wär nett wenn mir jemand helfen könnte
Denjo132 ist offline   Mit Zitat antworten
Alt 05-08-2005, 06:01   #2 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
aloha!

Du musst schon deine .fla hochladen, da wir ja nicht wissen können, wie Du das aufgebaut hast;
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 05-08-2005, 17:05   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 23
ok...
so da is mein menü...
Angehängte Dateien
Dateityp: rar menü.rar (8,6 KB, 8x aufgerufen)
Denjo132 ist offline   Mit Zitat antworten
Alt 05-08-2005, 21:07   #4 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
aloha!

hardcore_Lösung:
ich versuche immer pure actionscriptlösungen_ gut oder schlecht sei mal dahingestellt...

ich habe einen MovieClip erstellt und in der Bilbliothek einen Verknüpfungsnamen gegeben;
der MovieClip hat noch einen MovieClip("MC_text"), den ich dann größer werden lasse,dieser hat ein dynamisches Textfeld mit dem namen "T_linkname"

als Hintergrund für die links habe ich auch einen MC genommen;

restliche Erklärung im Actionscript-Code;

das schreibst Du alles in die Hauptzeitleiste in den dementsprechenden frame;
am besten, in eine eigene Ebene(die oberste...), diese ebene bezeichnest Du mit "actionscript"
ActionScript:
  1. stop();
  2. //mit einer Schleife attache ich 8mal den MovieClip aus der Bühne, gib ihm den namen"MC_link_+i",eine tiefe+i, und gib ihm gleich die position, die er haben soll;
  3. for (i=0; i<8; i++) {
  4.     _root.attachMovie("protolink", "MC_link_"+i, 50*i, {_x:580, _y:135+i*40});
  5. }
  6. //---------------------------------------------------------------------------------------------------------------------------------------------------------
  7. //---------------------------------------------------------------------------------------------------------------------------------------------------------
  8. //---------------------------------------------------------------------------------------------------------------------------------------------------------
  9. // ich schreibe eine prototype-funktion, diese rufen dann alle 8 link_movieclips auf;innerhalb der prototypefunktion verwende ich paramter("linkname","adresse"), die dann vom link_movieclip übergeben werde, siehe dann unten
  10. MovieClip.prototype.linksystem = function(linkname, adresse) {
  11.     //this bezieht sich bei einer function immer auf den aufrufer;
  12.     //this.MC_text.T_linkname wird formatiert: ausrichtung zentriert, automatische größe(je nach Textlänge);
  13.     this.MC_text.T_linkname.autoSize = "CENTER";
  14.     //der Text des Textfeldes wird zugewiesen(parameter"linkname";
  15.     this.MC_text.T_linkname.text = linkname;
  16.     //onRollOver function:gehe zu deinem zweiten frame,weil der eine andre farbe hat
  17.     this.onRollOver = function() {
  18.         this.gotoAndStop(2);
  19.     };
  20.         //onRollOOut function:gehe zu deinem ersten frame ,weil der die alte farbe hat
  21.     this.onRollOut = function() {
  22.         this.gotoAndStop(1);
  23.     };
  24.     //bei onReleas, rufe die url auf(parameter"adresse");
  25.     this.onRelease = function() {
  26.         getURL(adresse, "_blank");
  27.     };
  28. };
  29. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  30. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  31. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  32. //ich erstelle ein verschachteltes Array,quasi sind in dem Hauptarray nochmals 8 (weil 8 links) Arrays, mit deren Inhalt;
  33. var linkArray = [["MC_link_0", "Home", "http://www.counter-strike-maps.de.tc"], ["MC_link_1", "About us", "http://www.counter-strike-maps.de.tc"], ["MC_link_2", "Timmy", "http://www.counter-strike-maps.de.tc"], ["MC_link_3", "Jan", "http://www.counter-strike-maps.de.tc"], ["MC_link_4", "Denis", "http://www.counter-strike-maps.de.tc"], ["MC_link_5", "Trax", "http://www.counter-strike-maps.de.tc"], ["MC_link_6", "Beats", "http://www.counter-strike-maps.de.tc"], ["MC_link_7", "Impressum", "http://www.counter-strike-maps.de.tc"]];
  34. //mittels einer schleife lese ich den Arrayinhalt aus und rufe dann die prototype-Funktion auf und mach auch noch die animation;
  35. //"i<linkArray.length" bedeutet, dass mann ".length aus" dem array auslesen kann, somit läuft die schleife so oft, wie das Hauptarray Inhalte hat(eben 8 Unter-Arrays)
  36. for (i=0; i<linkArray.length; i++) {
  37.     // erstes Auslesen aus dem Array:"link" = jeweils das Unter-Array
  38.     var link = linkArray[i];
  39.     //"linkbutton" = der erste Inhalt vom Unter-Array
  40.     var linkbutton = link[0];
  41.     //"linktext" = der zweite Inhalt vom Unter-Array
  42.     var linktext = link[1];
  43.     //"linkadress" = der dritte Inhalt vom Unter-Array
  44.     var linkadresse = link[2];
  45.     //jetzt wird die prototype-Funktion von jedem link-movieclip aufgerufen, mit den zugehörigen parametern;
  46.     _root[linkbutton].linksystem(linktext, linkadresse);
  47.     //für die schriftanimation müssen wir den inneren Movieclip, in dem das Textfeld ist, ganz klein machen:
  48.     _root[linkbutton].MC_text._xscale = _root[linkbutton].MC_text._yscale=0;
  49.     // dann mal die slide-Animation durchführen....wenn die link-movieclips._x größer als 390 sind, dann sliden sie
  50.     _root[linkbutton].onEnterFrame = function() {
  51.         if (this._x>=390) {
  52.             this._x -= 5;
  53.             //wenn sie nicht größer als 390 sind, dann bitte das onEnterFrame-event deleten
  54.         } else {
  55.             this._x = 390;
  56.             delete this.onEnterFrame;
  57.             // neuerliches auslesen des array, weill die schleife durch ist
  58.             for (a=0; a<linkArray.length; a++) {
  59.                 var link2 = linkArray[a];
  60.                 var linkbutton2 = link2[0];
  61.                 //und nun, weil ja alle linkmovieclips auf 390 sind, kann man die schriftanimation durchführen;
  62.                 _root[linkbutton2].MC_text.onEnterFrame = function() {
  63.                     this._xscale<=100 ? this._xscale += 10 : 0;
  64.                     this._yscale<=100 ? this._yscale += 10 : 0;
  65.                 };
  66.             }
  67.         }
  68.     };
  69. }
Angehängte Dateien
Dateityp: rar menue.rar (7,5 KB, 19x aufgerufen)
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 06-08-2005, 00:12   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 23
das is wirklich hardcore... aber nach 20 minuten drauf starren hab ich das dann doch verstanden wie du das gemacht hast
aber danke funzt ja alles wunderbar
nur wo kann ich die schrift ändern?
Denjo132 ist offline   Mit Zitat antworten
Alt 06-08-2005, 00:16   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 23
ahhh... ich habs im text_MC
nochma danke
Denjo132 ist offline   Mit Zitat antworten
Alt 06-08-2005, 00:22   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 23
da fällt mir noch ne frage ein wie kann ich ein sound einspieln wenn der button die farbe von grau auf die andere ändert? und wenn man auf den button klickt
wie gesagt ich kenn mich mit flash noch nich aus...
wollt mir aber bald ma n buch zum thema kaufen
Denjo132 ist offline   Mit Zitat antworten
Alt 06-08-2005, 06:45   #8 (permalink)
tracer
 
Benutzerbild von andretti
 
Registriert seit: Jun 2004
Beiträge: 4.415
aloha!

den sound in die blibliothek importieren und verknüpfen für actionscript;
ActionScript:
  1. //neue variabel für rollOver-sound definieren
  2. var overSound = new Sound();
  3. //den dementsprechenden sound der variabel zuweisen
  4. var overSound.attachSound("verknüpfungsnameInDerBibliothek");
  5. //neue variabel für click-sound definieren
  6. var clickSound = new Sound();
  7. //den dementsprechenden sound der variabel zuweisen
  8. var clickSound.attachSound("verknüpfungsnameInDerBibliothek");
  9. MovieClip.prototype.linksystem = function(linkname, adresse) {
  10.         //this bezieht sich bei einer function immer auf den aufrufer;
  11.         //this.MC_text.T_linkname wird formatiert: ausrichtung zentriert, automatische größe(je nach Textlänge);
  12.         this.MC_text.T_linkname.autoSize = "CENTER";
  13.         //der Text des Textfeldes wird zugewiesen(parameter"linkname";
  14.         this.MC_text.T_linkname.text = linkname;
  15.         //onRollOver function:gehe zu deinem zweiten frame,weil der eine andre farbe hat
  16.         this.onRollOver = function() {
  17.                 this.gotoAndStop(2);
  18. //overSound einmal anspielen bitte:
  19. overSound.start(0,1);
  20.         };
  21.         //onRollOut function:gehe zu deinem ersten frame ,weil der die alte farbe hat
  22.         this.onRollOut = function() {
  23.                 this.gotoAndStop(1);
  24.         };
  25.         //bei onRelease, rufe die url auf(parameter"adresse");
  26.         this.onRelease = function() {
  27. //clicksound einmal anspielen bitte:
  28. clickSound.start(0,1);
  29.                 getURL(adresse, "_blank");
  30.         };
  31. };
__________________
Viola per Sempre
Alle Angaben ohne Gewehr!
trace your open mind in variables !
andretti
ActionScript Dictionary
andretti ist offline   Mit Zitat antworten
Alt 07-08-2005, 17:50   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 23
ActionScript:
  1. **Fehler** Szene=Szene 1, Ebene=Ebene 1, Bild=1:Zeile 12: Syntaxfehler.
  2.      var overSound.attachSound("rolloversound.mp3");
  3.  
  4. Anzahl der ActionScript-Fehler: 1    Gemeldete Fehler: 1

kannn es sein dass das "var" davor weg muss?
aber jetzt hör ich kein sound beim drüber fahrn
Denjo132 ist offline   Mit Zitat antworten
Alt 07-08-2005, 17:57   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2005
Beiträge: 23
ahhh!!! ich hatte vergessn die AS verknüpfung in der bibliothek zu machen
jetzt gehts alles...
danke
Denjo132 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 04:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele