Slideshow per Mausbewegung

tarcus

Mitglied
Moin Moin, ich bin was Flash angeht noch ein totaler Newbie, deswegen nicht gleich auf mich einhämmern :)

Möchte für nen Kunden eine Slideshow machen, die sich per Mausbewegung steuern lässt.
Dazu habe ich mir ein Sample besorgt, habe auch soweit alles hinbekommen, nur ist das Problem an der Sache, dass irgendwie nur Mausbewegungen unterhalb den Bildern akzeptiert werden, möchte es aber so machen, dass ich auf den Bildern die Maus bewege, und sich so die Slideshow dann dreht. Habe von ActionScript leider noch gar keine Ahnung, ich hoffe, mir kann jemand einem armem Rookie unter die arme greifen :)

Um das genauer zu sehen, ist hier die SWF:
Click me!

Die FLA-Datei befindet sich hier
Click me!
 
Hi,

nach einem ersten Blick auf die Sourcedatei muss ich leider sagen, dass das Ding so gut wie unwartbar ist: Das meiste besteht aus einer umfangreichen Hauptzeitleiste mit X Schlüsselbildern, hier und da versteckten Codeschnipseln (für Flash 5) und Symbolen, die absolut unidentifizierbar benannt sind ("Symbol1" bis "Symbol274"). In der Zeit, bis ich da einen halbwegs brauchbaren Überblick habe, hätte ich eine identische Galerie wahrscheinlich 3 mal selbst geschrieben.

Support für fremde Scripte und Templates gebe ich hier im Forum zudem generell ungerne (einer der Gründe dafür ist im ersten Absatz zu finden).

Im Anhang findest Du ein (kommentiertes) Beispiel zum Rotieren von verschiedenen MovieClips um ein Mittelobjekt (Flash7, niedriger kann ich nicht exportieren). Wenn Du allerdings wirklich keine ActionScript-Kentnisse hast, kann ich Dir leider nur raten, entweder den Ersteller Deines Templates zu kontaktieren, oder die Aufgabe im Jobforum zu posten.

Gruß
.
 

Anhänge

  • rotator3.zip
    7,8 KB · Aufrufe: 140
Hi Tobias,

erstmal vielen Dank, für deine Mühen, ich schätze das sehr.

nach einem ersten Blick auf die Sourcedatei muss ich leider sagen, dass das Ding so gut wie unwartbar ist: Das meiste besteht aus einer umfangreichen Hauptzeitleiste mit X Schlüsselbildern, hier und da versteckten Codeschnipseln (für Flash 5) und Symbolen, die absolut unidentifizierbar benannt sind ("Symbol1" bis "Symbol274"). In der Zeit, bis ich da einen halbwegs brauchbaren Überblick habe, hätte ich eine identische Galerie wahrscheinlich 3 mal selbst geschrieben
Genau das dachte ich mir auch schon, ich habe bestimmt 2 Stunden mit der Datei verbracht, und habe nicht die Source für die Bilder gefunden.

Im Anhang findest Du ein (kommentiertes) Beispiel zum Rotieren von verschiedenen MovieClips um ein Mittelobjekt (Flash7, niedriger kann ich nicht exportieren). Wenn Du allerdings wirklich keine ActionScript-Kentnisse hast, kann ich Dir leider nur raten, entweder den Ersteller Deines Templates zu kontaktieren, oder die Aufgabe im Jobforum zu posten.


Ich benutze die Flash Version 8. Das ist wirklich sehr nett, das ist auch genau das was ich brauche :)
Nur stellt sich mir hier noch die Frage, wie wurde dies bei meinem alten Script gemacht, dass bei einem Klick auf das Bild dieses vergrössert wurde.
Werde mich jetzt mal mit der Datei beschäftigen, vielen Dank nochmals!
 
So hab mir jetzt mal einen kleinen Überblick verschaffen, ich verstehe auch bei den meisten Zeilen, was damit gemeint ist (habe mir ActionScript schwieriger vorgestellt, aber hat ja echt einiges mit JavaScript gemeinsam :) )
So was mir jetzt noch schleierhaft ist, hier ist ja definiert, das sich eine Grafik in 7-facher Ausführung um die Mitte dreht.
Code:
var anzahl = 7;

var radius_x = 150;
var radius_y = 30;

var speed = 0.04;
var winkel = 0;

var element = new Array(anzahl);

for (var i=0; i<element.length; i++) {
	element[i] = rotator.attachMovie("element", "e" + i, i + 10);
	element[i].offset = (Math.PI * 2) / anzahl * i;
}

rotator.attachMovie("mitte", "mitte" , 5);
Wie lassen sich hierfür jetzt unterschiedliche Grafiken definieren? Dachte hier mal so an ca. 7-10 Grafiken.

Das nächste ist eben wie schon erwähnt, dass sich diese Grafiken (kleiner-skaliert) anklicken lassen und sich somit auf 100% zurückvergrössern lassen.

Man könnte sie auch von 100% auf 150% vergrössern lassen, aber einen Qualitätsverlust kann ich leider nicht vertreten.
Danke schonmal für jegliche Hilfe
 
Hi,

Du kannst durchaus verschiedene MovieClips verwenden. Ein Beispiel:
Code:
var element = new Array(anzahl);

for (var i=0; i<element.length; i++) {
	element[i] = rotator.attachMovie("bildclip_" + i, "e" + i, i + 10);
	element[i].offset = (Math.PI * 2) / anzahl * i;
}
Wenn sich hierbei z.B. die Bilder mit den Bezeichnern "bildclip_0", "bildclip_1", usw. in der Bibliothek befinden, werden sie mit dieser Syntax instanziert.

Für eine Vergrößerung kannst Du sorgen, indem die Bildclips selbst einen MouseHandler und eine entsprechende Funktion bereitstellen, z.B.:
Code:
// Code in einem der Bildclips:
var gross = false;

this.onPress = function() {
    reScale((gross)? 100 : 150);
}

function reScale(ds) {
    gross = !gross;
    this.onEnterFrame = function() {
        img._xscale += (ds - img._xscale) / 4;
        img._yscale = img._xscale;
        if (Math.abs(ds - img._xscale) < 1) {
            img._xscale = img._yscale = ds;
            delete this.onEnterFrame;
        }
    }
}
Hierbei befindet sich das eigentliche Bild in einem weiteren MovieClip namens "img". Damit sie sich auch mittig vergrößern, müssen die "img"-Clips mit einem zentrierten Ankerpunkt instanziert sein.

Gruß
.
 
Hi Tobias, ich danke dir, dass du mir hierbei hilfst, aber irgendwie hänge ich schon wieder, ist wohl doch nicht so leicht wie ich dachte.
Aus irgendeinem Grund, wird das importierte Bild nicht angezeigt, hab es auch schon als Movieclip umgewandelt, nur wird es irgendwie nicht richtig angezeigt, wenn ich das als SWF exportier, hat es auch nur 2KB deswegen ist es einfach ein falscher Befehl von mir.

Könntest du mir in der angehängten Datei mal ein Beispiel machen, so dass bild1 und bild2 schon funktionieren? Dann sollte ich eigentlich selbst damit klarkommen.
Werde mich dann beim nächsten Problem nochmal melden, was dann warscheinlich mit der Vergrösserung zu tun haben wird :)
Danke dir nochmal für deine Hilfe.
DATEI

P.S. Falls ich dir mal irgendwie bei 3D-Animationen was helfen soll, sofern du welche brauchst, kann ich dir dort gern weiterhelfen, das ist eher mein Spezialgebiet :)

Danke,
Tarcus
 
Hi,

nachdem ich mehrmals probiert habe, Deine Datei zu öffnen (was jedesmal mit einem kompletten Absturz von Flash quittiert wurde), muss ich feststellen, dass das zweite Bild beschädigt ist (es wird eine Auflösung im 90.000er-Bereich mit einer Farbtiefe von 0 Bit angezeigt ...). ;)

Zudem hast Du

a) keines der Bilder zum Export für AS freigegeben (such mal nach "Exportfreigabe" oder "attachMovie" - es ist eine der häufigsten Fehler, die in dieser Hinsicht gemacht werden).

b) vergessen, im Code eine Anzahl festzulegen (z.B. var anzahl = 5;) - woher soll das Script denn wissen, wie viele MovieClips es instanzieren soll?

c) Du hattest die Bezeichner zum Instanzieren falsch vergeben, in etwa:
Code:
element[i] = rotator.attachMovie("bild1" + i, "e" + i, i + 10);
, was zu einer Ausgabe von "bild10", "bild11", "bild12" usw. geführt hätte.

Im Anhang findest Du eine leicht verbesserte Version. Für Deine Zwecke muss die _xscale-Eigenschaft mit einem Sinus berechnet werden, damit die Bilder sich auch wirklich um die eigene Achse drehen (sprich: spiegelverkehrt, wenn hinten). Zudem habe ich die Rotation um die x-Achse entfernt, so dass sich alle Bilder auf einer Ebene befinden. Beim RollOver werden die Bilder leicht vergrößert; beim Klick kannst Du zwischen 100 und 150% umschalten (diese Werte kannst Du natürlich frei wählen ;)).

Zudem verwende ich einen einheitlichen Bildcontainer (MC "element"), der anhand seiner Indexnummer (idx) das richtige Bild instanziert. Die Bilder selbst ("image1" bis "imageX") enthalten nichts weiter als Instanzen der Bitmaps.
 

Anhänge

  • rotator4.zip
    80,9 KB · Aufrufe: 443
Tausend Dank an dich Tobias, hab es nun endlich hinbekommen, und ich kann das jetzt dann noch schön ausbauen, vielen vielen Dank, hast jemand sehr glücklich gemacht heute :)

Wenn du mal 3D-Sachen brauchst, melde dich einfach!

THX
 
Ich würde mir sehr gern die *.fla Datei ansehen (die *.swf sieh wirklich klasse aus!),allerdings kommt bei mir (flash mx 2004) immer die Fehlermeldung "Unerwartetes Dateiformat", wenn ich versuche,sie zu öffnen.
Könntest du sie nochmal schicken/online stellen? Ich wäre sehr dankbar!
 
Hi,

das liegt daran, dass die Datei mit (und für) Flash 8 erstellt wurde. Anbei noch einmal für MX2004 (Flash7).

Gruß
.
 

Anhänge

  • rotator4_f7.zip
    23,3 KB · Aufrufe: 71

Neue Beiträge

Zurück