Hallo,
mein Ziel ist es, ein beschriftetes Zahnrad als Websitemenü zu verwenden. Dazu habe ich es bereits geschafft, dass es sich per Drag&Drop um seinen Mittelpunkt drehen lässt. Nun dachte ich daran, beim Loslassen der Maus zu prüfen, ob sich das Rad auf 0, 90, 180 oder 270° gedreht und damit auf genau einem Viertel liegt, sodass 1 von 4 Worten in der Mitte steht. Ansonsten soll sich das Rad noch bis zum nächstgelegen Wort weiterdrehen. Deswegen habe ich den Kreis in 8 Segmente unterteilt und drehe jeden 2. Kreis nach links oder nach rechts. Leider klappt das nicht, das Rad dreht sich stets bis zur selben Stelle. Kann es sein, dass die Funktion rotate nicht die Drehung vom Ursprungsbild, sondern nur um die letzte Position angibt? Wie kann ich auf einem image oder auf einem MovieClip Bereiche festlegen?
Der Code für die Methode:
function moveCircle(event:Event):void {
// 1. Segment
if (mc_gearwheel.rotation degree) && (mc_gearwheel.rotation
Hallo Franziska,
ich kann das gerade leider nicht testen, weil ich unterwegs bin, aber meine mich erinnern zu können, dass die Funktion rotation nur Werte von 0 bis 180 und 0 bis -180 kennt.
Vom original Ausgangspunkt kannst Du also eine halbe Drehung im Uhrzeigersinn machen, indem Du den Wert für rotation auf bis zu 180 erhöhst. Danach „springt“ der Wert auf -xxx bis er wieder bei Null ankommt. Du kannst das ja einfach mal testen, indem Du Dir die Werte aller möglichen Positionen ausgeben lässt.
Womöglich ist hier schon das Problem, weil Du die Werte ja auf > und
Hallo Thorsten,
der Tipp war aber schon Gold wert (und so simpel ^^). Mit der Kombi von Tweens (den ich durch doppeltes Fragen bekommen habe, weil ich den Code nochmal mit
-Links darstellen wollte \*hust\*). Kommt schon etwas ziemlich Brauchbares raus, sogar mit Bremsfunktion:
function moveCircleWithTween(event:Event):void {
// Norden
if (mc\_gearwheel.rotation 135) {
TweenLite.to(mc\_gearwheel, 1., { rotation:180} );
}
else{
var degree:int;
for (degree = -135; degree degree) && (mc\_gearwheel.rotation
Ich muss den Kreis nicht mal mehr in 8 Segmente unterteilen, sondern nur in 4, weil TweenLite sich beidseitig annähert. Allerdings muss ich noch an den Listenern fummeln, weil die Drag&Drop-Funktion nicht mehr einwandfrei funktioniert, zumindest nicht mit Touchpad. (Und ich musste den TweenLite-Ordner in den src-Ordner meines Projekts packen, damit's funktioniert \*strange\*.)
Aber danke, du hast mir schonmal sehr weitergeholfen!