silke_mc
Threadersteller
Dabei seit: 28.07.2008
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 28.07.2008 10:44
Titel Cosinus und Sinus |
|
|
Hallo. Ich bin die neue
Gleich mal eine Frage.
Ich hab mir ein paar Scriptbrocken zusammengsucht und daraus ein Tool gebastelt mit dem der User Text eingeben und biegen kann.
(Soll ein Konfigurator werden).
Der User soll den Radius per Schieberegler so weit erhöhen können dass, der Text bei maximalem Wert wieder gerade ist.
Ausserdem soll der User den Text auf "Biegung oben" und "Biegung unten" umschalten können.
Meine ersten Experimente liefen auch gut. Was mich gestört hat war, dass das Zentrum des Kreises im MC immer links oben war. Also habe ich hier einen Ausgleicher reingebaut der das ganze entsprechend verschiebt.
Biegung nach oben klappt wunderbar. Nur. Die Biegung nach unten stimmt gar nicht. Der Bogen verschwindet nach unten hin wenn ich den Radius erhöhe.
Vieleicht könnt ihr mir helfen
Hier mal mein Code:
Code: | [size=12][/size]
abX = 0;
abY = 0;
if (r.effekt == "straight") {
mein_mc.text_halter["tx"+i]._x = mein_mc.text_halter["tx"+(i-1)]._x+mein_mc.text_halter["tx"+(i-1)]._width;
}
if (r.effekt == "circle") {
radius = (maxRad/100*(bieg*bieg));
U = Math.PI*((radius));
if ((max_width*txArr.length)>(U*2)) {
sc = 100/(max_width*txArr.length)*(U*2);
} else {
sc = 100;
}
mB = max_width/100*sc;
mH = max_height/100*sc;
var realWinkel, top, ausg, winkel;
if (r.direc == "up") {
winkel = (mB/(radius));
w = winkel*txArr.length;
realWinkel = winkel/0.017453292519943;
top = 90/57.295779513082;
ausg = realWinkel/57.295779513082;
mein_mc.text_halter['buchstabe'+i]._x = Math.cos(winkel*i-(top+((ausg*txArr.length)/2)))*radius;
mein_mc.text_halter['buchstabe'+i]._y = Math.sin(winkel*i-(top+((ausg*txArr.length)/2)))*radius+radius;
mein_mc.text_halter['buchstabe'+i]._rotation = (winkel*i-(top+((ausg*txArr.length)/2)))*180/Math.PI+(100-(10/100*_root.bieg));
if (mein_mc.text_halter['buchstabe'+i]._x<abX) {
abX = mein_mc.text_halter['buchstabe'+i]._x;
}
if (mein_mc.text_halter['buchstabe'+i]._y<abY) {
abX = mein_mc.text_halter['buchstabe'+i]._y;
}
} else {
nradius = (radius-(radius*2));
winkel = ((mB)/nradius);
w = winkel*txArr.length;
realWinkel = winkel/0.017453292519943;
top = 90/57.295779513082;
ausg = realWinkel/57.295779513082;
mein_mc.text_halter['buchstabe'+i]._x = Math.cos(winkel*i-(top+((ausg*txArr.length)/2)))*nradius;
mein_mc.text_halter['buchstabe'+i]._y = Math.sin(winkel*i-(top+((ausg*txArr.length)/2)))*nradius+(radius*2);
dreh = (winkel*i-(top+((ausg*txArr.length)/2)))*180/Math.PI+90;//(270-(10/120*_root.bieg));
mein_mc.text_halter['buchstabe'+i]._rotation = dreh;
if (mein_mc.text_halter['buchstabe'+i]._x<abX) {
abX = mein_mc.text_halter['buchstabe'+i]._x;
}
if (mein_mc.text_halter['buchstabe'+i]._y<abY) {
abX = mein_mc.text_halter['buchstabe'+i]._y;
}
}
}
}
for (i=0; i<txArr.length; i++) {
mein_mc.text_halter['buchstabe'+i]._x += Math.abs(abX);
mein_mc.text_halter['buchstabe'+i]._y += Math.abs(abY);
} |
Wäre super
Gruß Silke
Zuletzt bearbeitet von silke_mc am Mo 28.07.2008 10:44, insgesamt 1-mal bearbeitet
|
|