| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Slotentwickler Registriert seit: Mar 2004 Ort: Herten
Beiträge: 62
| Rotieren eines Bildes?
Hallo ihr lieben, ich habe wiedereinmal etwas, was mir Kopfzerbrechen bereitet. Ich habe ein rundes Element in Photoshop gezeichnet. Dieses möchte ich jetzt in Flash drehen lassen (möglichst ohne die häßlichen Drehungszacken). Ich habe es als PNG exportiert, in Flash eingebaut, in AS dann den _rotation Wert in einem Intervall erhöht bzw. runtergezählt. ALlerdings Rotiert das Bild scheinbar nicht um den Mittelpunkt, sondern um die linke obere Ecke. Wie kann ich ein Bild (möglichst schön) um seinen Mittelpunkt rotieren lassen? Viele Grüße David |
| | |
| | #3 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Erstmal den Registrierungspunkt in die Mitte. Dann mal gucken, wie's so aussieht. Falls es dir dann noch immer nicht gefällt, nicht einfach _rotation benutzen, sondern die Matrix-Klasse mit dazu nehmen. Gab's hier auch gerade das Problem: mc um 360° SEHR langsam drehen aber flüssig!
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Feb 2002
Beiträge: 34
|
Du wählst das Bild aus, drückst F8 (Objekt erstellen) und Dopelklickst auf das neueerstellte Objekt. Jetzt einfach Strg-Alt-8 (an Bühne ausrichten), Strg-Alt-2 (Horizontal zentrieren) und dann Strg-Alt-5 (Vertikal zentrieren) drücken. |
| | |
| | #8 (permalink) |
| Slotentwickler Registriert seit: Mar 2004 Ort: Herten
Beiträge: 62
|
So, also die Rotation läuft schonmal. Ausrichtung ist auch erfolgt. Verwebde auch die Matrik-Klasse. Nur: Die Ränder verwischen ziemlich. In Photoshop kann man es ja auch "gerendert" rotieren. Gibt es kein Format, welches mir das irgendwie eine besseres Ergebnis liefert? Viele Grüße David |
| | |
| | #9 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Mach mal einen Rechtsklick auf die Grafik in der Bibliothek und guck mal unter Eigenschaften, ob da "glätten zulassen" angehakt ist. Falls nicht, mal anhaken und gucken, ob's was bringt.
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #11 (permalink) |
| Slotentwickler Registriert seit: Mar 2004 Ort: Herten
Beiträge: 62
|
noch eine letzte Frage. Wenn ich das Bild um exakt 1° drehen möchte, welche Einstellung wäre da in der Rotation ratsam? Grund hierfür ist, dass ich die Drehung gezielt stoppen möchte. Bis jetzt sieht das ganze so aus: Code: import flash.geom.Matrix;
import flash.geom.Transform;
var fotosTrans:Transform = new Transform(fotos);
var mymatrix:Matrix = new Matrix();
function dreh_element(bis){
var hochzaehler = 0;
var speed = 0;
tf = setInterval(tfunc = function(){
old_x = fotos._x;
old_y = fotos._y;
if(hochzaehler < 100){
speed = speed - 0.007;
}
else if(hochzaehler >= 100 && hochzaehler < 200){
speed = speed + 0.007;
}
else if(hochzaehler == 150){
speed = 0;
}
mymatrix.rotate(speed);//mymatrix.rotate(-0.00099);hier spielen
fotosTrans.matrix = mymatrix;
fotos._x = old_x;
fotos._y = old_y;
hochzaehler++;
},50);
}
dreh_element(1); Viele Grüße David Geändert von Yooda (07-09-2007 um 17:05 Uhr) |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Jan 2007
Beiträge: 8
|
also ich könnte dir code zum drehen anbieten, da muss aber der registrierungspunkt oben links sein... da gehört er zum ordentlichen Coden auch hin ;P Code: var rotation:Number = 225;
rotate_pos = function(){
if (rotation == 225){
x_num = Aequ_mc._x + Aequ_mc._width/2;
y_num = Aequ_mc._y + Aequ_mc._height/2;
r_num = Math.sqrt((Aequ_mc._height*Aequ_mc._height+Aequ_mc._width*Aequ_mc._width))/2;
}
rotation+=5;
if (rotation == 585){
rotation = 225;
}
Aequ_mc._rotation = rotation-225;
Aequ_mc._x = r_num * Math.cos(Math.PI * rotation/ 180) + x_num;
Aequ_mc._y = r_num * Math.sin(Math.PI * rotation/ 180) + y_num;
} In die andere Richtung bekommst du sicher selbst hin :> achja, das ganze hab ich in einem Interval... stoppen kann man das dann indem du den Interval killst wenn "rotation" deinen bestimmten Wert erreicht hat Grüße, Xavyre Wryn Geändert von Xavyre Wryn (10-09-2007 um 16:35 Uhr) |
| | |
| | #13 (permalink) |
| kugelschreiber Registriert seit: Jun 2001 Ort: Bad Düben
Beiträge: 202
|
Hallo Ihr Lieben, @Xavyre Wryn einfach Klasse Dein Code: Code: var rotation:Number = 225;
rotate_pos = function(){
if (rotation == 225){
x_num = Aequ_mc._x + Aequ_mc._width/2;
y_num = Aequ_mc._y + Aequ_mc._height/2;
r_num = Math.sqrt((Aequ_mc._height*Aequ_mc._height+Aequ_mc._width*Aequ_mc._width))/2;
}
rotation+=5;
if (rotation == 585){
rotation = 225;
}
Aequ_mc._rotation = rotation-225;
Aequ_mc._x = r_num * Math.cos(Math.PI * rotation/ 180) + x_num;
Aequ_mc._y = r_num * Math.sin(Math.PI * rotation/ 180) + y_num;
} Kannst Du mir die verstädlich erklären? Gruß Kuli
__________________ ________________ Und grüßt die Tage, ich komm wieder keine Frage...:) Oder Ihr kommt zu mir? | Bock auf n 1/4 Meile Rennen? | Alle Termine Race@Airport german series (R) |
| | |
| | #14 (permalink) |
| Neuer User Registriert seit: Jan 2007
Beiträge: 8
|
Naja 225° sind 5/8 von 360°, das ist genau der Winkel, an dem sich die obere linke Ecke des Movieclips befindet, wenn er waagerecht steht. 0° wäre bei einer analogen Uhr bei 15 min, 225° wären dann bei 52,5min. Ich brauche den exakten Winkel um dann bei Code: Aequ_mc._x = r_num * Math.cos(Math.PI * rotation/ 180) + x_num; Aequ_mc._y = r_num * Math.sin(Math.PI * rotation/ 180) + y_num; Verwirrend ist vielleicht der folgende Part: Code: Aequ_mc._rotation = rotation-225; Warum 585? Das ist 225 + 360, also genau eine Drehung. Dann kann man "rotation" also statt 585 auch 225 benutzen, das hält die Variable klein und würde einen (unrealistischen) Überlauf des integer Bereiches verhindern wenn "rotation" irgendwann zu groß wird. Grüße, Xavyre Wryn |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |