Slideshow Abstand problem

DiDiJo

Erfahrenes Mitglied
hey leute ...

ich hab auf ner seite eine slideshow eingebaut. soweit auch kein problem.
die slideshow holt sich über ner JS-Funktion die bildpfade.

das ganze funktioniert auch super (ich ab schon auf diese art und weisen einige slideshows in meine seiten eingebaut.) Ich hab nun nur noch ein problem mit meiner animation

Code:
function startSlideshow() {
	
	_root.PICS._visible = true;
	
	var_start = 0;
	for (i=0;i<pic_sources.length;i++) {
		_root.PICS.PICS_L["pic_" + i]._x = var_start + 10;
		_root.PICS.PICS_L["pic_" + i]._y = 6;
			
		_root.PICS.PICS_R["pic_" + i]._x = var_start + 10;
		_root.PICS.PICS_R["pic_" + i]._y = 6;	
		
		var_start = _root.PICS.PICS_L._width;
	}
		
	_root.PICS.PICS_R._y = _root.PICS.PICS_L._y;	
	_root.PICS.PICS_R._x = _root.PICS.PICS_L._x + _root.PICS.PICS_L._width + 10;
}

PICS.onEnterFrame = function () {
	if (_xmouse < 330) PICS.PICS_L._x += (355-_xmouse)*0.015;	
	if (_xmouse > 380) PICS.PICS_L._x += (355-_xmouse)*0.015;
	
	if (_xmouse < 330) PICS.PICS_R._x += (355-_xmouse)*0.015;
	if (_xmouse > 380) PICS.PICS_R._x += (355-_xmouse)*0.015;

	// Richtung Links	
	//trace(_root.PICS.PICS_L._x + " sprung bei " + -(_root.PICS.PICS_L._width));
	
	if (_root.PICS.PICS_L._x < -(_root.PICS.PICS_L._width))
		_root.PICS.PICS_L._x = _root.PICS.PICS_R._x + _root.PICS.PICS_R._width + 10;
		
	if (_root.PICS.PICS_R._x < -(_root.PICS.PICS_R._width))
		_root.PICS.PICS_R._x = _root.PICS.PICS_L._x + _root.PICS.PICS_L._width + 10;
		
	// Richtung Rechts	
	if (_root.PICS.PICS_L._x > (_root.PICS.PICS_L._width))
		_root.PICS.PICS_L._x = _root.PICS.PICS_R._x - _root.PICS.PICS_R._width - 10;
		
	if (_root.PICS.PICS_R._x > (_root.PICS.PICS_R._width))
		_root.PICS.PICS_R._x = _root.PICS.PICS_L._x - _root.PICS.PICS_L._width - 10;		
}

_root.PICS.PICS_L["pic_" + i] = ein Bild
_root.PICS.PICS_L = movielclip indem alle bilder geladen werden

das ganze gibbet dann natürlich auch für rechts

wenn ich nun die slideshow starte treten 2 probleme auf:

1. ist nicht immer der abstand zwischen 2 bildern gleich genausp wie der abstand zwischen den beiden slideshow movieclips

2. es kommt vor das einige bilder versuche sich zu überholen ?

sieht vlt. jemand in meinem script einen fehler ?!


p.s. hier kann man sich das problem mal anschauen:
http://w00a57dd.dd8328.kasserver.com/index.php?kid=6&skid=61
 
Hallo,

das Problem mit dem "Überholen" konnte ich nicht nachvollziehen. Der Lücke zwischen den beiden Containern liegt ein Logikfehler zugrunde. Ich habe dir hier einmal die Bedingungen für die Links-Bewegung zusammengefasst. Die Variable viewableWidth steht für den sichtbaren Bereich wie z.B. die Bühnenbreite.

Code:
var viewableWidth: Number = 400;

if (_root.PICS.PICS_L._x < -(_root.PICS.PICS_L._width-viewableWidth))
		_root.PICS.PICS_R._x = _root.PICS.PICS_L._x + _root.PICS.PICS_L._width + 10;
		
if (_root.PICS.PICS_R._x < -(_root.PICS.PICS_R._width-viewableWidth))
		_root.PICS.PICS_L._x = _root.PICS.PICS_R._x + _root.PICS.PICS_R._width + 10;

Gruss

PS: Bitte achte auf deine Gross-/Kleinschreibung.
 
Zuletzt bearbeitet:
Hallo,

überprüfe doch mal die Breite der Container. Vielleicht stimmt die Anordnung schon, nur die Breite-Werte sind nicht richtig, d.h das _width-Attribut. entspricht nicht der tatsächlichen Breite. Ich wär dann auch mal froh um einen Dummy, wenn das möglich ist.

Gruss
 
dummy ? also ich hätte jetzt mal manuell die Zahlen eingegeben und das ganze ausgerechnet ... aber dieser Versatz ist ja nicht immer da (wenn man sich ein wenig durch die Seite navigiert merkt man das)
 
Genau deshalb ist es doch naheliegend, dass die Rechnerei eigentlich schon stimmt und der Hund woanders begraben liegt ;). Deshalb auch Dummy oder *.fla oder wie dus nennen willst.

Gruss
 
ich machs zwar net gerne aber bitte schön. :-)

im mainscript ist in Zeile 114 ist ein Beispielaufruf um an die Bildpfade zu gelangen
 

Anhänge

Hallo,

die Zuweisung der Variable "var_start" beim Erstellen der Slideshow ist nicht ganz wasserdicht. Ersetze Zeile 14 des Codes auf dem slideShowScript-Layer mit folgender:

Code:
var_start += _root.PICS.PICS_L["pic_" + i]._width+10;

Ich war so frei und testete das Skript mit den Angaben aus dem Quelltext der Seite, die du oben gepostet hast. Sollte also funktionieren. Wenn du deine Skripts hier nicht veröffentlichen willst, entferne einfach das Attachment aus deinem obigen Post.

Gruss
 
perfekt ... vielen vielen Dank für die Hilfe. Ein Bild springt zwar noch ab und an aber das Problem krieg ich wohl selber gelösst...

wie gesagt DANKE
 
Zurück