Das menue hört nicht auf sich zu drehen

jargyr

Grünschnabel
Hello,

Ich habe im Internet den Kode eines drehbaren Menues gefunden. Dieser dreht sich die ganze Zeit (wenn Kursor sich links oder rechts dem drehbaren Menue befindet ) in die entsprechende Richtung und hört nicht auf sich zu drehen bis man der Kursor in der Mitte fokusiert. Ich habe versucht denn Kode so umzuschreiben das es aufhört sich zu drehen sobald der Mauskursor aufhört sich zu bewegen aber nichts hat geholfen, deshalb schreibe ich an dieses Forum mit der Bitte mir zu helfen. Hat jemand eine Idee wie man das umsetzen kann?

Als Anlage sende ich das Flash file mit.

Hier ist das Actionscript dazu:

Code:
bListe = ["buttons/asics.swf", "buttons/ada.swf","buttons/ins.swf", "buttons/foren.swf", "buttons/dokumente.swf" ,"buttons/ideen.swf" ];
    {
            bild = bilder[i];
            bild.x = radius * Math.cos (bild.wphase + mwinkel);
            bild.z = radius * Math.sin (bild.wphase + mwinkel) + posZ;
            dimension = fokus  /(1.4* bild.z);
            piwinkel = Math.atan2 (bild.x, bild.z);
            bild._x = bild.x * dimension;
            bild._xscale = -100 * dimension * Math.sin (bild.wphase + mwinkel + piwinkel);
            bild._yscale = 100 * dimension;
            bild.swapDepths (-(int (bild.z)));
            
        }}
        
    }
    
    
};
zentrum.rotation_menue (bListe, Stage.width / 2, Stage.height / 2, 100, 600, 600, 200, true, 5000);
// zentrum2.rotation_menue (bListe2, Stage.width/2, 80, 100, 600, 600, 200, true, 5000);
// zentrum3.rotation_menue (bListe3, Stage.width/2, 320, 100, 600, 600, 200, true, 5000);


Grüße

jargyr

wer eine Demo des Menues sehen will: http://www.braintronix.com
 

Anhänge

Hi,

wie und wann soll sich das Menü denn drehen?

Du kannst es prinzipiell anhalten, wenn die Maus nicht bewegt wird:

Lege zunächst auf der Zeitleiste eine Variable zum Zwischenspeichern der Mausposition an:
Code:
var lastm = zentrum._xmouse;
Ändere nun den Anfang der onEnterFrame-Methode so ab:
Code:
	this.onEnterFrame = function() 
	{
		{
			var xm = zentrum._xmouse;
			if (xm != lastm) {
				mwinkel += xm / (drehfaktor +10);
			}
			lastm = zentrum._xmouse;

Gruß
.
 
Hallo das war sehr nett, danke für deien Hilfe

nur funktioniert es leider nicht so fliessend wie ich es mir vorgestellt hatte.

Ich hatte gedacht dass es sich bei jedem mausverschiebung nach rechts oder links um jeweils pi/(anzahl der Photos) dreht und dann gemühtlich stopt, bis der Mauskursor sich wieder bewegt, so dass der User gemühtlich auf den Link klichken kann und es ihm nicht schwindelig wird vor lauter rotierenden Bildern :)


Grüße

jargyr
 
Hi,

das hatte ich auch probiert - Nachteil: Bewege ich die Maus um z.B. 100 Pixel nach rechts, dreht sich das Ding sagen wir um 2 Bilder weiter. Nun befindet sich die Maus aber rechts vom Ring; um sie wieder auf dem anzuklickenden Element zu positionieren, müsstest Du sie wieder nach links schieben, was wiederum zu einer Drehung des Rings um zwei Bilder zurück führt.

Du bekommst mit dieser Methode also nie wirklich das zu fassen, was Du anklicken willst ...

Gruß
.
 
Zurück