8Danke
ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
892
892
EMPFEHLEN
-
Moin moin zusammen,
Ich würde gerne eine Flash-Animation auf meine Homepage setzen, doch weiß ich nicht so recht, wie die Aktionen dazu aussehen.
Hier ein Link zu dem, was ich mir in etwa vorstelle:
http://www.emp.de/bin/shop.php?prog=...LDOWN_00MALETS
(ich hoffe, der Link funktioniert..)
Die Objekte sollen sich halt nach Links im Kreis drehen und nach Rechts.
Allerdings hätte ich das gern so, dass man nicht über diese Pfeile dort gehen muss, sondern man einen Bereich definiert, in dem, wenn die Maus in der Mitte steht, sich die Objekte nicht drehen und je weiter die Maus z.B. sich nach Links bewegt, desto schneller rotieren die Objekte.
Ich nutze CS4 - eventuell wichtig.
Kann mir dabei eventuell wer helfen?
mfg
WizGeändert von Wiz (30.12.09 um 05:03 Uhr)
-
30.12.09 05:33 #2
- Registriert seit
- Dec 2009
- Ort
- Gießen(Hessen)
- Beiträge
- 123
Hi Wiz,
um das zu realisieren gibt es bestimmt viele Möglichkeiten, aber ich nenn dir mal auf die Schnelle die hier. Die Idee stammt von dieser Seite: http://www.gotoandlearn.com/
1.öffne die Datei im Anhang
2. Lösche alle Elemente aus der Bibliothek, die sind nur zum testen für dich da(STRG + ENTER drücken)
3. Ziehe alle deine Fotos bei Flash auf die Bühne, dass ist in der Mitte vom Bildschirm (sicherlich nicht die eleganteste Variante, kann dir das auch per XML machen, aber das nimmt viel mehr Zeit in Anspruch und so klappt's auch)
4. Nun klickst du jedes Foto einzeln an, machst Rechtsklick -> In Symbol konvertieren... Nennst die Datei "bild1" und wählst MovieClip bei Typ, die Mitte bei Anker und machst ein Häkchen bei Export für ActionScritpt
5. Nun steht auch bild1 in dem Feld bei ActionScript drin. Wichtig ist, dass jedes weitere Bild eine höhere Zahl hat, also bild2 bild3 usw. Dann bestätigst du und löschst das element wieder von der bühne
6. Wiederhole beliebig oft schritt 4. und 5.
7. aktuell sind 3 Bilder eingestellt. Du musst eine Variable im Code ändern, die anzahl_bilder heißt. dafür rechtsklickst du in der Zeitleiste auf dieses Kästchen mit dem kleinen "a" -> und wählst "Aktionen" dort kannst du die Variable deinen Bedürfnissen anpassen
Fertig. Starten mit STRG + Enter
Gruß, AdnanGeändert von Psychodelics (04.01.10 um 20:11 Uhr)
-
Dankeschön für die Mühe, nur kann ich die Datei im Anhang nicht öffnen... da steht simpel "Dokument konnte nicht geöffnet werden." Vielleicht in CS5 gespeichert worden?
Btw Frohes Neues an alle!
mfg
Wiz
Edit: Omg... ich bin ein Idiot... ööhm, ich nutze CS3 ^.^"Geändert von Wiz (02.01.10 um 02:51 Uhr)
-
02.01.10 03:08 #4
- Registriert seit
- Dec 2009
- Ort
- Gießen(Hessen)
- Beiträge
- 123
Hey Wiz,
das ist echt eigenartig, dass du das nicht öffnen kannst, bei mir funktioniert die einwandfrei.
Soweit ich weiß kommt CS5 auch erst im Sommer raus...
Ich hab's jetzt einfach mal noch zusätzlich als CS3 gespeichert.
Hoffe, das funktioniert jetzt auch.
Gruß, AdnanGeändert von Psychodelics (02.01.10 um 03:09 Uhr) Grund: Datei angehangen
-
Top!! Vielen, vielen Dank!

Nur fürs Verständnis (ich lerne gerne solche Sachen
):
Die Aktionen hab ich bis Zeile 8 verstanden... Ab dann seh ich nur Kuddlmuddl
Code actionscript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
for(var i=1;i<=anzahl_bilder;i++) { var t = this.attachMovie("bild"+i, "b"+i, i+1); t.angle = i*((Math.PI*2)/anzahl_bilder); t.onEnterFrame = mover; } function mover() { this._x = Math.cos(this.angle) * radiusX + centerX; this._y = Math.sin(this.angle) * radiusY + centerY; var s = this._y /(centerY+radiusY); this._xscale = this._yscale=s*100; this.angle += this._parent.speed; this.swapDepths(Math.round(this._xscale)+100); } this.onMouseMove = function() { speed = (this._xmouse-centerX)/15000; }
Wobei den Scale-Part in Zeile 22 rall ich auch noch... aber sonst... was steht da eigentlich? oOGeändert von Maik (04.01.10 um 19:50 Uhr) Grund: Quellcode in Syntax-Highlighter gepackt
-
Ah, ich hab noch eine Frage... Das funktioniert ja alles einwandfrei - hab das Ganze auch ein wenig meinen Wünschen anpassen können.
Allerdings stört mich noch eine Sache: Wenn man mit der Maus an der Seite aus der Bühne raus geht, dreht sich das weiterhin schnell umher. Kann man da was machen, dass wieder die Ausgangsgeschwindigkeit eingenommen wird?
mfg
Wiz
-
04.01.10 19:55 #7
- Registriert seit
- Dec 2009
- Ort
- Gießen(Hessen)
- Beiträge
- 123
Also, zu deinem Problem habe ich früher immer notgedrungen einen unsichtbaren Button über der Bühne erstellt, der bei verlassen die Animation stoppt.
Aber da gibt es mittlerweile auch bessere Varianten. Probier es doch mal damit aus.
Verlassen der Bühne mit Mauszeiger
Hoffe, das hilft dir weiter.
Sehe gerade auch deinen Vorletzten Post, den kann ich dir später noch beantworten, das hier vorweg, damit du schon mal hast, was du suchst.
Gruß, Adnan
Okay, um ehrlich zu sein, bin ich da ein wenig überfragt. Ich weiß, dass die Kreisformel x² + y² = z ist. Hierbei ist Wurzel z der Radius, also bei 9 nen Radius von 3.Wiz:
Nur fürs Verständnis (ich lerne gerne solche Sachen ):
Dazu kann ich dir sagen, das cos und sinus einen Wert zwischen -1 und 1 liefern, was man dann gut als Faktor in einer beliebigen Rechnung verwenden kann, weil somit der Wert ansteigt, abfällt, ansteigt, abfällt... sofern sich nur ein Faktor fortlaufend in der Formel ändert und das ist sinus x oder cosinus x, ansonsten hast du n Kuddelmuddel und das Objekt fliegt dir davon.
Hier ist es ja auch so: Es wird 250 und die halbe Bühnenbreit hinzu addiert, also 400. Der Wert 250 wird mit dem sin x multipliztiert, wodurch er alle Wert zwischen -250 und 250 annehmen kann, womit die ganze Rechnung mindestens 150 und maximal 650 zurück liefert, solange sich der Wert von x fortlaufend ändert.
Das mit dem scale hattest du ja bereits verstanden; die Objekte werden größer und kleiner, um eine Tiefenwirkung zu erzeugen.
In diesem Fall muss man jedoch x und y unterschiedlich berechnen, da die Höhe und die Breite der Fensters nicht identisch sind, zu mal die Höhe ja hier die Tiefe darstellen soll, um uns Räumlichkeit zu vermitteln, also wir quasi ein vorne und ein hinten haben.
Mehr kann ich dir leider nicht dazu sagen, weil dafür müsste man sich dann auch intensiv mit der Sinus- und Cosinusfunktion beschäftigen der Kreisformel und wie das alles zusammenhängt.
Hoffe, ich hab dich jetzt dadurch nicht noch mehr verwirrt.
Gruß, Adnan
-
Irgendwas scheine ich falsch zu machen...
Code actionscript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// mouse on stage detection var predX:Number // prediction, also Vorhersage der X-Position var predY:Number var oldX:Number; // alte X-Position var oldY:Number; var offStage:Boolean; // Schalter, ob die Maus auf der Bühne ist oder nicht… onMouseMove = function() { predX = _root._xmouse – oldX; predY = _root._ymouse – oldY; oldX = _root._xmouse; oldY = _root._ymouse; } onEnterFrame = function() { if ((_root._xmouse + predX) >= Stage.width-10 || (_root._ymouse + predY) >= Stage.height-10 || _root._xmouse-predX
Wenn ich das raus kopiere und einfach in eine neue Aktion einfüge, sagt der mir, dass sich in "predX = _root._xmouse – oldX;" und "predY = _root._ymouse – oldY;" Fehler befinden... Muss ich da was anderes für einsetzen? o_o?
mfg
Wiz
-
05.01.10 23:04 #9
- Registriert seit
- Dec 2009
- Ort
- Gießen(Hessen)
- Beiträge
- 123
Hey Wiz,
Das Minus in Zeile 11 und 12 ist irgendwie komisch.
EDIT:
Da waren noch n paar andere Zeichenfehler drinn, hab die mal alle korriegert
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
var anzahl_bilder:Number = 3; var radiusX:Number = 250; var radiusY:Number = 75; var centerX:Number = Stage.width / 2; var centerY:Number = Stage.height / 2; var speed:Number = 0.01; for(var i=1;i<=anzahl_bilder;i++) { var t = this.attachMovie("bild"+i,"b"+i,i+1); t.angle = i * ((Math.PI*2)/anzahl_bilder); t.onEnterFrame = mover; } function mover() { this._x = Math.cos(this.angle) * radiusX + centerX; this._y = Math.sin(this.angle) * radiusY + centerY; var s = this._y /(centerY+radiusY); this._xscale = this._yscale = s*100; this.angle += this._parent.speed; this.swapDepths(Math.round(this._xscale) + 100); } this.onMouseMove = function() { speed = (this._xmouse-centerX)/15000; } // mouse on stage detection var predX:Number // prediction, also Vorhersage der X-Position var predY:Number var oldX:Number; // alte X-Position var oldY:Number; var offStage:Boolean; // Schalter, ob die Maus auf der Bühne onMouseMove = function() { if (offStage) { trace("Maus ist wieder auf der Stage!"); } offStage = false; predX = _root._xmouse - oldX; predY = _root._ymouse - oldY; oldX = _root._xmouse; oldY = _root._ymouse; }; onEnterFrame = function () { if (_root._xmouse + predX >= Stage.width || _root._ymouse + predY >= Stage.height - 10 || _root._xmouse + predX <= 0 || _root._ymouse + predY <= 0) { trace("Maus hat die Stage verlassen!"); predX = 0; predY = 0; offStage = true; } };
Gruß, AdnanGeändert von Psychodelics (05.01.10 um 23:24 Uhr)
-
05.01.10 23:05 #10Also bei mir ist zwischen xmouse und oldX und das selbige eine Zeile drunter ein unbekanntes Zeichen, und kein Minus. Schreib die Zeile mal neu und probiers dann mal aus, anderen Fehler kann ich jetzt so nicht feststellen da.predX = _root._xmouse oldX;
predY = _root._ymouse oldY;
Edit: War einer schneller:P, diese Zeichen mein ich auch.MFG Scipio
Ein Danke für hilfreiche Antworten ist gern gesehen.
-
05.01.10 23:42 #11
- Registriert seit
- Dec 2009
- Ort
- Gießen(Hessen)
- Beiträge
- 123
Hey Wiz,
anbei häng ich dir das fertige Programm an.
Da habe ich die Animation auch gleich so angepasst, dass sie außerhalb des Fensters stoppt und sich innerhalb des Fensters in die gewünschte Richtung bewegt
Hoffe, dass es jetzt genau so ist, wie du es haben willst.
Gruß, AdnanGeändert von Psychodelics (05.01.10 um 23:44 Uhr)
-
Bisschen die Zahlen meinen Bedürfnissen angepasst und perfekt! Viiiieeelen, vielen Dank für die Mühe und Geduld!!
Ähnliche Themen
-
Filmabschnitt bestimmt oft wiederholen
Von munsel im Forum Flash PlattformAntworten: 1Letzter Beitrag: 18.04.09, 12:06 -
Datenbankabfrage (bestimmt simpel)
Von bertonex19 im Forum PHPAntworten: 20Letzter Beitrag: 04.12.08, 14:43 -
Ihr wisst bestimmt... [Hintergrund]
Von 9th Wonder im Forum PhotoshopAntworten: 3Letzter Beitrag: 30.09.05, 21:44 -
Objekt richtung Maus drehen
Von KR@SSonkel im Forum Flash PlattformAntworten: 9Letzter Beitrag: 05.04.04, 17:56 -
Maus Effekte! Text hinter der Maus
Von Ultra_Flasher im Forum Flash PlattformAntworten: 2Letzter Beitrag: 06.09.01, 00:39





Zitieren
Login





