| |||||||
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) |
| Neuer User Registriert seit: Jan 2002
Beiträge: 78
| _xscale _yscale newbie-frage
Hallo zusammen Ich möchte einen MC per AS so steuern, dass er sich von einer grösse von 1500% wieder in seine Ursprunsgrösse zurückskaliert und dann stoppt. Ich weiss, dass ist sicher total einfach.... aber ich komm hier nicht so richtig weiter.... mit tweening kein problem, ich möchte aber AS lernen und da häng ich schon am ersten Buckel hier mein Scriptanfang: onClipEvent (load) { _xscale += 1500; _yscale += 1500; } onClipEvent (enterFrame) { _xscale -= 100; _yscale -= 100; } dann sollte doch ne if-Abfrage kommen, oder? Ich hab schon so ziemlich alles versucht, hat aber bis jetzt nicht geklappt. und dann noch ne verständnisfrage.... wenn ich zum Beispiel _xscale +=10 und _yscale +=10 im Script habe, dann bedeutet es doch, dass sich die grösse des MC's um 10% erhöht.... dann ist doch aber die Originalgrösse 0%, oder seh ich das falsch? In den Threads die ich durchgeackert habe, stand das 100% die Originalgrösse wäre.... ich steig da nich so recht durch. Kann mir da bitte jemand auf die Sprünge helfen? danke choosy |
| | |
| | #2 (permalink) |
| oEF(etischist) Registriert seit: Dec 2003 Ort: muc
Beiträge: 664
|
Hallo, +10 bedeutet, das 10%-Punkte dazu gezählt werden, d.h. ist die Skalierung 0 und du erhöhst um 10, dann ist der Wert jetzt 10. ActionScript:
Kann Flash 5 auch Eevnts so setzen, wie in Flash MX? Grüße, solo Geändert von soloFlash (23-01-2004 um 10:17 Uhr) |
| | |
| | #3 (permalink) | |||
| Neuer User Registriert seit: Jan 2002
Beiträge: 78
|
Hi solo Zitat:
also ich habs damit versucht: ist selber zusammengebastelt und dann auch noch vom nem total AS-newbie, also grottenfalsch ActionScript:
oder ist das ein total falscher Ansatz und ich muss die Originalgrösse vorher erst definieren? Zitat:
Zitat:
kann mir da bitte jemand nen Denkanstoss geben? choosy | |||
| | |
| | #4 (permalink) |
| oEF(etischist) Registriert seit: Dec 2003 Ort: muc
Beiträge: 664
|
zur Info: = ist ein Zuweisungsoperator == ist ein Vergleichsoperator demanach musst du schreiben: ActionScript:
Grüße, solo |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jan 2002
Beiträge: 78
|
Ahja.... klasse danke solo.... das mit dem == wusste ich nicht! also, ich hab es jetzt so versucht wie Du es geschrieben hast onClipEvent (load) { _xscale += 1500; _yscale += 1500; } onClipEvent (enterFrame) { _xscale -= 100; _yscale -= 100; if (_xscale==0) stop() } geht aber auch nicht..... immer der gleiche Effekt: der MC skaliert sich kleiner, spiegelt sich dann horizontal und wird wieder grösser aber ich glaub, dass mit dem stop() ist sowieso total daneben, oder? ich hab es dann mal so versucht: onClipEvent (load) { _xscale += 1500; _yscale += 1500; } onClipEvent (enterFrame) { _xscale -= 100; _yscale -= 100; if (_xscale==0) { _xscale = 0; } } is aber leider auch nichts..... och menno.... des gibts doch ned |
| | |
| | #6 (permalink) |
| oEF(etischist) Registriert seit: Dec 2003 Ort: muc
Beiträge: 664
|
na immerhin tut sich schon mal was ![]() ein stop(); bezieht sich auf einen Film, ein EnterFrame hältst Du damit nicht an, das wird immer dann ausgeführt, wenn das Frame "betreten wird, also bei einer Filmlänge von einem Frame, wird es immer aufgerufen, eine Endlosschleife (wenn mich jemand korrigieren will, dann nur zu, bin auch kein Profi!) Ich Tippe mal, bei _xscale = 0 (den zweiter Versuch) war nichts mehr zu sehen?! Grund: Du hast es auf 0 skaliert, damit ist es soooooooo klein, dass Du es nicht mehr sehen kannst. ActionScript:
untested, but should work ![]() solo |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jan 2002
Beiträge: 78
|
hey solo.... hat geklappt..... vielen Dank ich hab noch die eine 0 durch ne 100 ersetzt, dann war gut, klasse Ich hab da jetzt noch ne Verständnisfrage... onClipEvent (load) { _xscale += 1500; _yscale += 1500; _root.meinMC = 100; // speichert auf der Root die Variable ab ... } onClipEvent (enterFrame) { _xscale -= _root.meinMC; // ... die Du hier verwendest ... _yscale -= _root.meinMC; if (_xscale==100) _root.meinMC = 0; // ... und hier auf 0 setz! } Du hast ja _root.meinMC den Wert 100 zugewiesen. Wieso kann ich dann nicht schreiben _xscale -= 100; _yscale -= 100; das wäre doch eigentlich das selbe, oder? Geht aber nicht... den if teil versteh ich auch noch nicht so ganz.... if (_xscale==100) // das ist klar!!! aber _root.meinMC = 0; ??? Am Anfang hattest Du doch die Originalgrösse mit 100 gespeichert... _root.meinMC = 100; warum dann jetzt also die 0??? Wie gesagt, das Script funzt prima.... ich möchte es nur gern verstehen, ich will ja schliesslich drauf aufbauen können.... damit ichs irgendwann mal alleine kann bald...... demnächst....... naja, in weiter ferne...... ![]() vielen Dank choosy |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Jan 2002
Beiträge: 78
|
so, wie soll es auch anders sein, schon wieder komm ich nicht recht weiter.... Ich habe jetzt noch einen zweiten MC, der erst starten soll, wenn der erste MC sich in seine Endposition skaliert hat. Das Script sieht inzwischen so aus: ActionScript:
funktioniert soweit auch alles, nur skaliert sich der zweite MC (coolejungs) wieder soweit, dass er sich horizontal spiegelt und wieder grösser wird, also findet er sein"stop" nicht. Warum das denn? choosy Geändert von choosy (25-01-2004 um 11:06 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |