Vergrößerung der Bilder einer Laufleiste bei Click

ZIGGY_WillES

Mitglied
Tach Leutz,

ich hab in meinem Film folgenden Code von Datic eingefügt, und würde das ganze gern so modifizieren, dass das größte Bild bei Click in einem neuen Fenster geöffnet wird. Hab aber kein Plan wo ich das einbauen soll :confused: :



PHP:
var count = 4;
var middle_x = 682;
var middle_y = 300;
var space_y = 170;
var current_pos = 0;
var speed = 0;
var max_speed = 10;
var acc = 0.5;

var grafik = new Array(count);

for (var i=1; i<=count; i++) {
	grafik[i] = this.attachMovie("grafik"+i, "grafik"+i, i);
	grafik[i]._x = middle_x;
	grafik[i]._y = middle_y - (count / 2 * space_y) + (i-1) * space_y;
	grafik[i]._alpha = getAlpha(grafik[i]._y);
	grafik[i]._yscale = getScale(grafik[i]._y);
	grafik[i]._xscale = grafik[i]._yscale;
}

function getAlpha(y) {
	var a = getRank(y);
	a = 100 / Math.exp(a/100);// (a / 100 +1);
	if (a > 80) a += 10;
	return a;
}

function getScale(y) {
	var a = getRank(y);
	a = 100 - (a / 5);
	//trace(a);
	return a;
}

function getRank(y) {
	return Math.abs(middle_y - y);
}

this.onEnterFrame = function() {
	if (_ymouse < middle_y - space_y / 2) {
		if (speed < max_speed) speed +=acc;
	} else if (_ymouse > middle_y + space_y / 2) {
		if (speed > -max_speed) speed -=acc;
	} else {
		if (speed < 0) speed +=acc;
		if (speed > 0) speed -=acc;
	}
	current_pos += speed;
	if (current_pos > (count / 2 * space_y)) {
		current_pos = count / 2 * space_y;
		speed = 0;
	}
	if (current_pos < -(count / 2 * space_y)) {
		current_pos = -(count / 2 * space_y);
		speed = 0;
	}
	//trace(current_pos);
	for (var i=1; i<=count; i++) {
		grafik[i]._y = middle_y - (count / 2 * space_y) + (i-1) * space_y + current_pos;
		grafik[i]._alpha = getAlpha(grafik[i]._y);
		grafik[i]._yscale = getScale(grafik[i]._y);
		grafik[i]._xscale = grafik[i]._yscale;
		picture[i].swapDepths(255 - getRank(grafik[i]._y));
		}
}


Hoffe mir kann da jemand weiterhelfen.

Gruß

Fabian
 
Hi,

wenn Du mir jetzt noch sagst, um welches Bespiel es sich handelt, kann ich Dich sicher weiterhelfen.

Auf den ersten Blick nehme ich mal an, es handelt sich um diese vertikale Slideshow, beid der die Bilder nach oben und unten kleiner werden? Soweit ich mich erinnere, befinden sich die Bilder dabei als MovieClips in der Bibliothek. Um sie in einem neuen Fenster zu öffnen, müsstest Du die Grafiken als jpg-Dateien auf dem Server liegen haben und jedem Bild im Flashfilm die entsprechende URL geben - in etwa so:
PHP:
var grafik = new Array(count);

// Für jedes Bild den Pfad in ein Array legen:
var urls = new Array("bild1.jpg", "bild2.jpg", bild3.jpg", bild4.jpg");

for (var i=1; i<=count; i++) {
    grafik[i] = this.attachMovie("grafik"+i, "grafik"+i, i);
    grafik[i]._x = middle_x;
    grafik[i]._y = middle_y - (count / 2 * space_y) + (i-1) * space_y;
    grafik[i]._alpha = getAlpha(grafik[i]._y);
    grafik[i]._yscale = getScale(grafik[i]._y);
    grafik[i]._xscale = grafik[i]._yscale;
    grafik[i].url = urls[i - 1];
    grafik[i].onRelease = function() {
        getURL(this.url, "_blank");
    }
}

Gruß
.
 
Ja, genau um die Laufleiste handelt es sich, hab das Skript erweitert. Aber es meldet folgenden Fehler:
Code:
**Error** Symbol=Bildlaufleiste_grafik, layer=Layer 1, frame=1:Line 21: Syntax error.
     	grafik[i].onRelease = funktion() {

Total ActionScript Errors: 1 Reported Errors: 1


Zur Info ich arbeite mit MX V.7


Gruß
 
Hast Du die Zeile per Copy&Paste eingefügt oder abgetippt? Beim Einfügen kommt es öfters zu diesen Fehlern.

Die Syntax ansich ist korrekt.

Gruß

P.S.: Dafür habe ich beimn "urls"-Array einmal die Anführungsstriche vergessen.
.
 
Ich habs abgetippt und das Anführungszeichen hatte ich ergänzt.

Ich hab zwar kein Plan, aber mal rumgespielt:
Code:
grafik[i].onRelease = function(getURL(this.url, "_blank"));

Wenn ich es jetzt (im Internet) starte kommt kein Fehler. Es öffnen sich aber 4* _blank mit jeweils der Meldung.

Not Found
The requested URL /undefined was not found on this server.

Gruß
 
Das ist ja auch völlig falsche Syntax:
Code:
grafik[i].onRelease = function(getURL(this.url, "_blank"));
Du kannst getURL nicht als Parameter für die Funktion verwenden. Es muss schon so lauten:
Code:
grafik[i].onRelease = function() {
    getURL(this.url, "_blank");
}

Gruß
.
 
Ja aber so funktionierts net. Ich habs jetzt mal so geschrieben:



Code:
grafik[i].onRelease = funktion(); {
	getURL(this.url, "_blank");
	}


Also mit ";" hinter funktion(). Allerdings kommt dann wieder der Undefined Fehler wie oben geschrieben. Da scheint was mit der URL-Definition nicht zu stimmen.


Gruß
 
Ist jedenfalls auch nicht richtig. ;) Wenn eine (augenscheinlich) korrekte Syntax nicht funktioniert, bringt es nichts, sie durch eine fehlerhafte zu ersetzen. Es wird nicht hier eher weniger um ein Syntaxproblem handeln.

Poste bitte mal Deine Datei, damit ich mir das "in situ" ansehen kann.

Gruß
.
 
Tach Datic,

also frag mich nicht warum, aber ich hab es nochmals versucht und siehe da :suspekt: es E.S. F.U.N.K.T.I.O.N.I.E.R.T :-)

Vielen Dank


Fabian
 
Zurück