Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Actionscript Hilfe!!!“

Whykiki

Komischer Typ und Köter

Hallo Leute,

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



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!!!!
 

h_seldon

Aktives Mitglied

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
 

Whykiki

Komischer Typ und Köter

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*)
 

h_seldon

Aktives Mitglied

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
 

Whykiki

Komischer Typ und Köter

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!!!
 

h_seldon

Aktives Mitglied

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
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.158
Beiträge
2.581.872
Mitglieder
67.225
Neuestes Mitglied
Petra
Oben