Wie setze ich sowas um ? (Link anbei)

JoergWeber1

Grünschnabel
Hallo Leute,

ich würde gerne wissen, wie ich sowas hier umsetzen kann:
http://www.sonyericsson.com/spg.jsp?cc=de&lc=de&ver=4000&template=ph1&zone=ph

(es geht um den Flash-Part in der Mitte)

Ich habe mit Flash noch nicht viele Erfahrungen sammeln können (nur grundlegendes wie z.B. Bewegungstweens) und bin mir daher nicht sicher, wie sich sowas optimal umsetzen lässt?


Meine Idee bisher: 5 Bilder in voller größe liegen vor, werden aber nur zu jeweils 1/3 angezeigt. Mittels onmouseover wird mit actionscript ausgerechnet, welches der Bilder jetzt gerade vergrößert werden soll und dementsprechend werden die anderen bilder verkleinert. Text wird ebenfalls mit onmouseover eingeblendet.

Was sagt ihr dazu? Lässt sich sowas auch ohne ActionScript realisieren?

Danke im Voraus :)
 
Hallo,

den Ansatz finde ich bisher ganz gut. Du solltest dir aber auch Masken mal genauer angucken.

Ohne ActionScript wird das aber nichts :)

Liebe Grüße,
Jens
 
Hi und willkommen im Forum,

Lässt sich sowas auch ohne ActionScript realisieren?
eher nicht. ;)

Es ist auch nicht unbedingt einfach, so eine Vorlage für einen Anfänger verständlich zu erklären - es werden zu viele ActionScript-Grundlagen vorausgesetzt. Ich könnte Dir höchstens ein Beispiel anfertigen, kann Dir aber nicht garantieren, dass ich in den nächsten 1-2 Tagen dazu komme, da ich im Moment recht viel zu tun habe.

Gruß
.
 
Es ist auch nicht unbedingt einfach, so eine Vorlage für einen Anfänger verständlich zu erklären - es werden zu viele ActionScript-Grundlagen vorausgesetzt. Ich könnte Dir höchstens ein Beispiel anfertigen, kann Dir aber nicht garantieren, dass ich in den nächsten 1-2 Tagen dazu komme, da ich im Moment recht viel zu tun habe.

Hallo,

danke für die schnelle Antwort.
Ich kann recht gut Java und kann mich daher denke ich auch schnell in ActionScript "reindenken". Ich habe mir auch schon Grundlagen zu ActionScript angeschaut und weiß in etwa, was Instanzen sind und wie sich einzelne Objekte referenzieren lassen (EventListener etc.)

Nur fehlt mir irgendwie der richtige Einstieg. Ich weiß nicht so genau, wie ich anfangen soll obwohl ich schon viele Ideen habe wie es theoretisch funktioniert. Daher wäre ein Beispiel natürlich super! Es eilt auch nicht ;)

Vielen Dank

Gruß,

Jörg
 
He,

also was du wohl brauchen wirst sind 4 Masken, welche jeweils so Breit sind wie die Anzeige. Diese Masken machen den eigentlichen content der Boxen sichtbar (->Hilfe zu Masken).

Wenn du diese Masken in Movieclips konvertierst (also Maskieren, dann die Sperrung der Zeitleistenebenen aufheben, in Movieclip umwandeln und wieder Sperren), kannst du sie per ActionScript ansteuern und so per _x und _width bzw. _xscale deren Position und Breite steuern.

Du würdest dann Referenzpunkte brauchen, also halt die Linke Grenze der Maske wie sie sein soll, wenn sie aktiv ist und ihre Breite in diesem Fall. Das brauchst du für alle 4 Rechtecke. Das ganze dann auch für den unaktiven Zustand.

Das ganze animierst du dann durch ein onEnterFrame. Die beste Methode für eine solche Animation, wie ich finde, ist so (hier ein Beispielauszug aus einem aktuellen Projekt von mir, wo ein Rahmen an die Position eines Buttons bewegt wird):

Code:
// Rahmen bewegen
	this.onEnterFrame = function() {
		_root.rahmen._x += (this._x-_root.rahmen._x)/4;
		if (Math.abs(this._x-_root.rahmen._x)<1) { // Abstand von Rahmen zu Button < 1
			delete (this.onEnterFrame);
		}
	};

Reicht dir das als Einstieg?

Liebe Grüße und noch viel Erfolg,
jens
 
He,
Code:
// Rahmen bewegen
	this.onEnterFrame = function() {
		_root.rahmen._x += (this._x-_root.rahmen._x)/4;
		if (Math.abs(this._x-_root.rahmen._x)<1) { // Abstand von Rahmen zu Button < 1
			delete (this.onEnterFrame);
		}
	};

Reicht dir das als Einstieg?

Hallo Jens,

danke für die freundliche Antwort :)

Ich denke, ich habe das Prinzip verstanden.
Jetzt bräuchte ich dann noch eine zweite Funktion, die die anderen 3 Bilder bzw. Frames entsprechend verkleinert, damit der Platz für eine Vergrößerung des angeklickten Bereichs da ist, richtig?

Gruß,

Joerg
 
Hallo,

ja. Das machst du durch eine Angleichung von der Breite auf genau die selbe Weise. Eigentlich ist das keine zweite Funktion, das kannst du dort direkt mit reinschreiben:

Code:
// Rahmen bewegen
	this.onEnterFrame = function() {
		_root.rahmen._x += (this._x-_root.rahmen._x)/4;
_root.meineBilder._width += (_root.meineBilder._width - idealeBreite) / 4); // usw
		if (Math.abs(this._x-_root.rahmen._x)<1) { // Abstand von Rahmen zu Button < 1
			delete (this.onEnterFrame);
		}
	};

Hammer gut, Actionscript boxen!

Liebe Grüße
.
 
Zurück