Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-07-2003, 20:09   #1 (permalink)
Neuer User
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 66
Question per AS mehrere Objekte skalieren

Hallo Leute,

ich würde gerne mehrere Objekte in einem Container per AS an verschiedene Stellen auf der Bühne verschieben und skalieren.
So ähnlich wie hier:

http://www.brianmccutcheon.com/

ich habe aber das Problem, dass sich die Objekte in dem Container nicht proportional zum skalierten Hauptcontainer skalieren sondern immer verzerren. Also z.B. der Rand einer Fläche dann nicht mehr überall gleich dick ist...
Hat einer eine Ahnung wie man sowas am besten angeht?

Vielen Dank,

Sascha
flachbild ist offline   Mit Zitat antworten
Alt 25-07-2003, 20:14   #2 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
Ich glaube nicht das die alle in nem container liegen, weil sonst ja schrift, fotos etc *******e aussehen würden.
Die liegen alle auf verschiedenen tiefen, so würd ichs zumindest machen.
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Alt 25-07-2003, 20:16   #3 (permalink)
anyway
Gast
 
Beiträge: n/a
Verschachtel die MCs einfach.

Wenn Du z.B. ein Quadrat mit einem rechteckigen Feld innerhalb dieses Quadrats wie in Deinem angegeben Beispiel animieren willst, mußt Du einen MC des Quadrats haben, der auf dem Mittelpunkt seinen Koordinatenursprung hat und einen MC des Rechtecks, der an der Ecke links oben seinen Koordinatenursprung hat. Der MC des Rechtecks muß sich im MC des Quadrats befinden.

Nun skalierst Du _x- und _yscale des Quadrats, wobei Du gleichzeitig _yscale des Rechtecks animierst - schon hast Du den gewünschten Effekt.

anyway.

Geändert von anyway (25-07-2003 um 20:17 Uhr)
  Mit Zitat antworten
Alt 25-07-2003, 20:22   #4 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
nabend.
ich würde evtl nicht nur mit scale arbeiten sondern auch mit height und width. wenn der rand immer 10 pixel breit sein soll, dann könnte man den äußeren quader mit x- und yscale anpassen und den inneren mit this._height=quader1.height-20 (als beispiel für die höhe), vorrausgesetzt beide quader haben den gleichen mittelpunkt.
__________________
bei fragen, fragen.

Geändert von Smirgel (25-07-2003 um 20:23 Uhr)
Smirgel ist offline   Mit Zitat antworten
Alt 25-07-2003, 20:25   #5 (permalink)
Neuer User
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 66
ok hab ich gemacht.... jetzt möchte ich aber einen gleichmässigen Rand in dem Quadrat haben... also quasi einen Fotorahmen...der immer gleich bleibt - egal wie gross mein Quadrat wird, bzw auch wenn aus dem Quadrat ein Rechteck wird ... das kapier ich irgdenwie nicht mit den verschiedenen Koordinatenursprüngen :-(
flachbild ist offline   Mit Zitat antworten
Alt 25-07-2003, 20:38   #6 (permalink)
anyway
Gast
 
Beiträge: n/a
Das hat eigentlich nichts mit den koordinatenursprüngen zu tun, sondern mit Prozentrechnung *g*

skalierst Du den äußeren MC auf - sagen wir mal 150% willst den inneren dabei aber immer auf 100% anzeigen lassen, dann geht die Rechnung folgendermaßen:

ActionScript:
  1. faktor = 1.5;
  2. m1 = mc;
  3. m2 = mc.mc;
  4. m1._xscale = m1._yscale = 100*faktor;
  5. m2._xscale = m2._yscale = 100/faktor;

...easy oder?

anyway.
  Mit Zitat antworten
Alt 25-07-2003, 20:46   #7 (permalink)
Neuer User
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 66
Vielen Dank! aber ich kapiers immer noch nicht:


also: ich hab 2 MC's ineinander geschachtelt.

auf dem inneren hab ich folgendes AS:

onClipEvent(load)
{
this._width = _parent._widht -5;
this._height = _parent._height -5;
}

den äusseren skaliere ich und verschiebe ihn auf der Bühne:

menu_container._x = 400;
menu_container._y = 200;
menu_container._xscale = 300;
menu_container._yscale = 300;

wenn ich ein Quadrat habe wie hier, dann klappts auch: der innere MC bildet eine Qudrat, das überall 5 Pixel Abstand hat. Sobald ich den äusseren MC aber rechteckig mache, hat der innere in der Breite den doppelten Abstand zum äusseren MC. Sollte ich lieber mit _width und _height als mit scale arbeiten?
flachbild ist offline   Mit Zitat antworten
Alt 25-07-2003, 20:56   #8 (permalink)
anyway
Gast
 
Beiträge: n/a
Nö, Du müsstest die Position des inneren MCs nachkorrigieren also quasi über globalToLocal festlegen, daß der innere MC stets 5 px Abstand zum Rand des äußeren MCs hat.

anyway.
  Mit Zitat antworten
Alt 25-07-2003, 21:03   #9 (permalink)
Neuer User
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 66
hä? versteh ich leider nicht. könntest Du das etwas ausführlicher erklären?

mein Beispiel ist hier:

http://www.zwischenton.de/test.swf

(die kleinen grünen sind Buttons)

ich kapier einfach nicht, warum es bei einem Quadrat klappt und nicht bei einem Rechteck.... die Position des inneren ist ja immer in der Mitte - was kann ich da nachkorriegieren???

Grüsse,

Sascha
flachbild ist offline   Mit Zitat antworten
Alt 25-07-2003, 21:07   #10 (permalink)
anyway
Gast
 
Beiträge: n/a
Axo, die teilen sich ja ihren Mittelpunkt...

Jo, dann mußt Du das über absolute Werte regeln - also _width und _height

anyway.
  Mit Zitat antworten
Alt 25-07-2003, 21:08   #11 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
ich hab mal ein beispiel gemacht. zwar für mx-verhältnisse schlampig programmiert aber watt funzt datt funzt
Angehängte Dateien
Dateityp: zip bla.zip (2,7 KB, 24x aufgerufen)
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 25-07-2003, 21:21   #12 (permalink)
Neuer User
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 66
Jau! Jetzt hab ich kapiert - man darf sie in diesem Fall nicht ineinander verschachteln :-)
Vielen Dank Smirgel! ... aber wieso ist Dein Beispiel "schlampig" programmiert? Ich finds geil !

Grüße,
Sascha
flachbild ist offline   Mit Zitat antworten
Alt 25-07-2003, 21:23   #13 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
weil die onClipEvent(enterFrame)´s ständig laufen. das könnte man unter mx auch etwas performacefreundlicher machen.
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 25-07-2003, 22:09   #14 (permalink)
Neuer User
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 66
Und wie?
flachbild ist offline   Mit Zitat antworten
Alt 25-07-2003, 22:12   #15 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
also im groben:
ActionScript:
  1. //als bildaktion
  2. quader1.onEnterFrame=function(){
  3. mach();
  4. if(alles_erledigt){
  5. delete this.onEnterFrame;
  6. }
  7. }
wenn du gerne dazu ne lösung hättest, würde ich dich auf morgen verweisen
__________________
bei fragen, fragen.
Smirgel 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 00:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele