Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-03-2007, 14:23   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 491
Exclamation Zentriertes Drehen

Liebe Freunde,

zurzeit kann ich leider nur an der linken oberen Ecke eines MovieClips drehen.
Ich möchte aber den Mittelpunkt (oder einen eigenen) verwenden.

Mein Script (der nur an der linken oberen Ecke drehen kann) sieht so aus:
Code:
function rotateContent(mc, degree, duration){
	new Tween(mc, "_rotation", Elastic.easeOut, 0, degree, duration);
	trace("Rotating...");
}

By the way - Das Vergrößerungsscript vergrößert nicht "vom Mittelpunkt" aus sondern von der linken oberen Ecke, was mich sehr stört.
Code:
function vergroesern(mc,width,height,speed)
{
    mc.tween("_width",width,speed,"easeInOutExpo");
    mc.tween("_height",height,speed,"easeInOutExpo"); 
};

Ich danke euch!
MfG
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 11-03-2007, 15:02   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
http://www.seibsprogrammladen.de/fra...ispiele/flash6
-> bewegen
... mc um beliebigen Punkt drehen


vergrössern geht immer vom nullpunkt aus. offensichtlich liegt der nullpunkt von deinem mc nicht in der mite.
also entweder die grafik im mc verschieben
oder entsprechend _x und _y vom mc rücken.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (11-03-2007 um 15:03 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 11-03-2007, 15:25   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 491
Code:
fRotAdd = function (mitte, addWinkel) { var a = {x:mitte.x, y:mitte.y};this.globalToLocal(a);this._rotation += addWinkel;this.localToGlobal(a);this._x += mitte.x-a.x;this._y += mitte.y-a.y;};
// 
fMitte = function (_ary) { var xmax = ymax=Number.MIN_VALUE;var xmin = ymin=Number.MAX_VALUE;for (var i in _ary) {xmax = Math.max(_ary[i]._x, xmax);xmin = Math.min(_ary[i]._x, xmin);ymax = Math.max(_ary[i]._y, ymax);ymin = Math.min(_ary[i]._y, ymin);}return {x:(xmax+xmin)/2, y:(ymax+ymin)/2};};
// 
var _ary = [a_mc, b_mc, c_mc, d_mc];
mitte = fMitte(_ary);
_root.onEnterFrame = function() {
	for (var i in _ary) {
		fRotAdd.call(_ary[i], mitte, 10);
	}
};
Ich verstehe diese Funktion irgendwie nicht.
Wozu ein Array?
Wie mache ich daraus eine simple Funktion (mc, winkel, dauer) ?

Danke Euch!
MfG
Firemice
Firemice ist offline   Mit Zitat antworten
Alt 11-03-2007, 16:00   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
array: in dem beispiel werden 4 _mc's gedreht.
fix und fettig gibts nur in der frittenbude - hier muss man selber denken ;-)

fRotAdd.call(dein_mc, {x:deine_mitte_x, y:deine_mitte_y}, drehwinkel);

eine dauer kannst du selbst ergänzen. einfach eine zahl herunter zählen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib 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 03:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele