Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-03-2007, 21:54   #1 (permalink)
ActionScriptler
 
Benutzerbild von .:morpher:.
 
Registriert seit: Jun 2002
Ort: auheim
Beiträge: 1.654
MC um bestimmte Gradzahl drehen und abbremsen

Hi Leute,

ich möchte gern einen MC um eine Gradzahl drehen lassen und die Drehung soll dann langsamer werden bis der MC stehenbleibt. Mein Problem liegt nun darin, dass ich es nicht schaffe eine Rotation, die größer als 180 Grad ist, zu realisieren. Wenn ich größere Gradzahlen verwende, dann hört der MC mit dem Drehen nicht mehr auf.
Hier ist mein Script:
ActionScript:
  1. fx1 = new flash.filters.BlurFilter();
  2. fx1.quality = 1;
  3. a= 179;//gibt an, um wieviel Grad der MC gedreht werden soll
  4. test_mc.onEnterFrame = function(){
  5.     if (this._rotation!=a){
  6.     fx1.blurX = (a-test_mc._rotation)/5;
  7.     fx1.blurY = (a-test_mc._rotation)/5;
  8.     trace(this._rotation);
  9.     test_mc._rotation += Math.round((a-test_mc._rotation)/10);
  10.     test_mc.filters = [fx1];
  11.     } else{
  12.         delete this.onEnterFrame;
  13.     }
  14. }
--> wäre super, wenn mich jemand auf den richtigen Weg führt
__________________
CU @ MY SITE

FOLLOW ME ON TWITTER
.:morpher:. ist offline   Mit Zitat antworten
Alt 07-03-2007, 22:09   #2 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.839
Werte außerhalb dieses Bereichs werden zu 360 addiert oder von 360 subtrahiert, um einen Wert innerhalb des zulässigen Bereichs zu erhalten. So sind beispielsweise die Aussagen my_mc._rotation = 450 und my_mc._rotation = 90 identisch.
PHP-Code:
if (this._rotation!=a
somit wird dieser Ausdruck vermutlich nicht mehr false werden.
musst also differenzierter prüfen
oder gleich Fusekit oder tweenklassen mit easing verwenden ;o)
__________________
mfg Frank
mildesign ist offline   Mit Zitat antworten
Alt 07-03-2007, 22:19   #3 (permalink)
ActionScriptler
 
Benutzerbild von .:morpher:.
 
Registriert seit: Jun 2002
Ort: auheim
Beiträge: 1.654
@mildesign:
Jupp! _rotation hat nur werte von -179 bis +179. Daher wird meine if Bedingung nicht mehr erfüllt. Allerdings will mir gerade nicht einfallen, wie ich das besser Überprüfen könnte...

... evtl. fällt mir ja noch etwas ein
__________________
CU @ MY SITE

FOLLOW ME ON TWITTER
.:morpher:. ist offline   Mit Zitat antworten
Alt 07-03-2007, 22:33   #4 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.839
PHP-Code:
durchlauf;
teiler=Math.floor(a/360);
if(!((
a%360==this._rotation)&&(teiler==durchlauf)));
{...
if(
"eine umdrehung rum"){
durchlauf++;
}

könnte gehen ;o)
__________________
mfg Frank

Geändert von mildesign (07-03-2007 um 22:37 Uhr)
mildesign ist offline   Mit Zitat antworten
Alt 07-03-2007, 22:35   #5 (permalink)
ActionScriptler
 
Benutzerbild von .:morpher:.
 
Registriert seit: Jun 2002
Ort: auheim
Beiträge: 1.654
DU bist mein Held für diese Nacht
__________________
CU @ MY SITE

FOLLOW ME ON TWITTER
.:morpher:. ist offline   Mit Zitat antworten
Alt 07-03-2007, 22:38   #6 (permalink)
Danilo Sandner
 
Registriert seit: Jun 2001
Ort: frankfurt am main
Beiträge: 286
du kannst einen "entkoppelten wert" hinzufügen und darfst die rotation nicht direkt abfragen sondern diesen wert...

so etwa (quick n dirty lösung)

Code:
fx1 = new flash.filters.BlurFilter();
fx1.quality = 1;
a = 279;
test_mc.wert = 0;
//gibt an, um wieviel Grad der MC gedreht werden soll
test_mc.onEnterFrame = function() {
	if (this.wert != a) {
		fx1.blurX = (a-this.wert)/5;
		fx1.blurY = (a-this.wert)/5;
		trace(this._rotation);
		this.wert += Math.round((a-this.wert)/10);
		test_mc._rotation  = this.wert;
		test_mc.filters = [fx1];
	} else {
		delete this.onEnterFrame;
	}
};
__________________
www.DaniloSandner.de

www.FlashTreffen.de (Flashtreffen in Frankfurt)
danilo ist offline   Mit Zitat antworten
Alt 07-03-2007, 22:42   #7 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.839
*Heldstatus an Danilo weiterreich*
wobei mit meiner Lösung kann man sich den Arbeitsplatz sichern
__________________
mfg Frank
mildesign ist offline   Mit Zitat antworten
Alt 07-03-2007, 22:45   #8 (permalink)
ActionScriptler
 
Benutzerbild von .:morpher:.
 
Registriert seit: Jun 2002
Ort: auheim
Beiträge: 1.654
@danilo:
THX !!!
[OT]
habe vom mario gehört, dass das Flashtreffen sehr gut war und einige fitte Coder am Start waren- wäre gern gekommen, aber hatte ein tennisturnier
[/OT]
__________________
CU @ MY SITE

FOLLOW ME ON TWITTER
.:morpher:. 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 22:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele