Anzeige

Actionscript Hilfe!!!

Actionscript Hilfe!!! | PSD-Tutorials.de

Erstellt von Whykiki, 26.09.2005.

  1. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Actionscript Hilfe!!!
    Hallo Leute,

    ich brauch mal eure Hilfe. Ich möchte eine Menü bauen, welches ähnlich funzt wie folgendes:

    http://www.michaeltolcher.com/host.html

    Das heisst, ich habe einen MC, der sich drehen soll und der stehen bleibt, wenn er einen Button beim mouseover erreicht.

    Ich kann zwar Flash, aberleider bin ich voll die Nulpe in AS.

    Hätte jemand von euch die Güte, mir das Script zu schreiben welches auf dem "drehbaren MC" liegt und ein Beispiel-Script für einen Button???

    Ich wäre euch sehr verbunden und versuche euch natürlich auch eine Gegenleistung zu geben, wie diese ausfällt müssen wir dann verhandeln ;-)

    Ich danke euch vielmals!!!!
     
    #1      
  2. h_seldon

    h_seldon Aktives Mitglied

    Dabei seit:
    13.09.2005
    Beiträge:
    338
    Geschlecht:
    männlich
    Ort:
    Nähe München
    Actionscript Hilfe!!!
    Hallo,

    falls größeres Interesse an dem Thema besteht, kann ich ein kleines Tutorial dazu schreiben (wird aber erst morgen fertig, da ich momentan in der Arbeit sitze).
    Die Idee hinter dem Menü ist wahrscheinlich folgende:
    bei rollOver über einen der Buttons wird der Winkel zum Pfeil bestimmt (Math.atan2(yPosition des Buttons - yPosition des Pfeils, xPosition des Buttons - xPosition des Pfeils)*180/Math.PI; 180/Pi ist notwendig, da Einheitskreis in Bogenmaß gemessen, Flash braucht aber Grad).
    Anschließend wird dem Pfeil ein enterFrame zugewiesen, der solange zur aktuellen Rotation etwas hinzufügt, bis der errechnete Zielwert erreicht ist. Das weiche Abbremsen kommt dadurch zustande, daß der hinzugefügte Wert permanent verkleinert wird (z.B. Division durch 10, konkrete Werte muß man halt austesten). Ist das Ziel erreicht, wird das enterFrame gelöscht.

    happy coding
     
    #2      
  3. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Actionscript Hilfe!!!
    Das wäre echt nett. Bitte hier auch den Link posten!

    Ich hab's zwar jetzt soweit hinbekommen, aber eben nicht selbst gecodet....ich würds aber auch gerne verstehen und daher ist n' Tut gar net so schlecht.

    Wie'sn ungefähr funzen könnte hab ich mir gedacht, mir fehlt aber einfach die Logik....Mathe, Flash und AS zu kombinieren!!!

    Leider, schade....(dabei habe ich sogar das AS-Buch von Matze K. *lol*)
     
    #3      
  4. h_seldon

    h_seldon Aktives Mitglied

    Dabei seit:
    13.09.2005
    Beiträge:
    338
    Geschlecht:
    männlich
    Ort:
    Nähe München
    Actionscript Hilfe!!!
    Hallo Whykiki,

    sorry, schaffe es heute doch nicht mehr, das Tutorial fertig zu stellen (bin in der Arbeit). Daher hier die Skriptlösung, Tutorial dann wohl morgen:

    bei rollOver über einen Navigationspunkt wird der Drehwinkel des Kreises mit einer umgekehrten trigonometrischen Funktion berechnet:

    ziel = Math.atan2(this._y-kreis._y, this._x-kreis._x)*180/Math.PI;

    this meint hier den aktivierten Button.

    Dann erhält der Kreis das Bewegungsskript:

    kreis.onEnterFrame = function() {
    rotat = this._rotation;
    this._rotation += ((ziel-rotat)/5);
    if (this._rotation>=(ziel-0.2)) {
    this._rotation = ziel;
    delete this.onEnterFrame;
    }
    };

    Um ein dynamisches Abbremsen zu erreichen, muß der in jedem enterFrame zu addierende Wert permanent verkleinert werden. Das erreicht die Division des Winkelabstands zwischen jetziger Position und Zielposition durch 5 (naja, ist meine Lieblingszahl). Natürlich können hier auch andere Werte genommen werden. Dabei gilt: je größer der Wert, desto langsamer die Drehung.

    Zum Schluß erfolgt eine Abfrage, ob der Abstand zwischen aktuellem Winkel und dem Zielwinkel kleiner einer bestimmten Zahl ist. Auch hier ist mit 0.2 ein beliebiger Wert gewählt worden; er sollte allerdings wirklich sehr klein sein, sonst gibt es in der letzten Bewegung einen sichtbaren Ruckler. Evaluiert die if-Abfrage gegen true (ist doch eine klasse Formulierung, oder?), dann wird der Kreiswinkel auf den Zielwinkel gesetzt und das enterFrame-Ereignis gelöscht; es wird ja nun nicht mehr benötigt.

    Wenn sich der Kreis bei rollOut aus einem aktivierten Navigationspunkt wieder zurückbewegen soll, dann weist man dasselbe enterFrame wieder zu, definiert als Zielwinkel aber einfach 0. Im Einheitskreis meint 0 die Blickrichtung nach rechts, nicht, wie man intuitiv annehmen könnte, nach oben. Da in einem Kreis der Winkel durch das Bogenmaß (oder Radiant) definiert ist, Flash aber nach Grad verlangt, muß in obigem Beispiel die Math.atan2-Methode mit 180/Math.PI multipliziert (in Grad umgerechnet) werden.

    Sorry, hoffe, heute abend das Tutorial schreiben zu können.
    Falls es noch unklar ist, kann ich Dir schon mal eine simple Beispieldatei schicken (bin aber nur noch ca ne halbe Stunde online).

    viel spass
     
    #4      
  5. Whykiki

    Whykiki Komischer Typ und Köter

    Dabei seit:
    26.08.2005
    Beiträge:
    780
    Geschlecht:
    männlich
    Ort:
    Moers
    Software:
    CS3 Design Premium (registriert)
    Kameratyp:
    Nikon D70s
    Actionscript Hilfe!!!
    Jau, erstmal vielen Dank für dein Mühe!

    Wär nett, wenn du die Datei mal on stellen könntest!!!

    Ich versuch grad zu verstehen, was du mir erklärt hast!!!
     
    #5      
  6. h_seldon

    h_seldon Aktives Mitglied

    Dabei seit:
    13.09.2005
    Beiträge:
    338
    Geschlecht:
    männlich
    Ort:
    Nähe München
    Actionscript Hilfe!!!
    Hallo,

    das Tutorial wurde gerade fertiggestellt und wird wohl im Laufe des Vormittags online gestellt. Sorry für das lange Warten. Ich hoffe, mit dem Tut werden die wichtigsten Fragen geklärt sein.

    happy coding
     
    #6      
Seobility SEO Tool
x
×
×