Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-10-2004, 09:33   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Ort: Pforzheim
Beiträge: 2
Dynamische Links in dynamischen MovieClips

Hallo zusammen,

nachdem ich jetzt schon oft und lange in diesem Forum lesend unterwegs war, was mir auch meist wirklich weitergeholfen hat, habe ich mich nun zu meinem ersten Beitrag entschieden, da ich in der Suche nichts passendes finden konnte, hoffe ich, dass ich nicht nur zu "blöd" zum Suchen war

Also, im Prinzip geht es um einen einfachen Bilderscroller, der aus einer php Datei die Anzahl der Bilder, die Pfade zu den Bildern und für jedes Bild eine URL, wohin das jeweilige Bild (onclick) verlinken soll, bekommt.
Das funktioniert auch alles soweit, nur die Links stimmen eben nicht, entweder sind alle Links gleich oder alle nicht definiert.

Hier also mal mein Code:

Szene 1, Bild 1 (lädt die Variablen und geht weiter zu Szene2, wenn alles geladen ist, da "overall" der letzte Wert in der php-Datei ist):
---
Code:
stop();
_root.pfad = "xyz.de";
vars = new LoadVars();
vars.onLoad = function()
{
	_root.overall = this.overall;
	for (i=1; i<=_root.overall; i++)
	{
		_root["pic_"+i] = this["pic_"+i]; // Bilderpfade
		_root["url_"+i] = this["url_"+i]; // Links zu jedem Bild
	}
	if (_root.overall != undefined)
	{
		play();
	}
}
vars.load(_root.pfad+"/scrollercontent.php");
---

Szene 2, Bild 1
---
Code:
abstand = 25;
if (loop != 1)
{
	wait = 0;
	ebene = 100;
	for (i=1; i<=_root.overall; i++)
	{
		this.createEmptyMovieClip(["con"+i], ebene);
		this["con"+i]._x = (i-1)*130+(i*abstand)-25;
		this["con"+i].loadMovie([pfad+"/layout/scroller/"]+_root["pic_"+i]);
		this["con"+i].onPress = function()
			{
				trace(_root["url_"+i]); // <- UNDEFINED
			}
		ebene++;
	}
}
for (i=1; i<=_root.overall; i++)
{
	if (this["con"+i]._x<=-130)
	{
		this["con"+i]._x = 616;
		this["con"+i].onPress = function()
			{
				trace(_root["url_"+i]); // <- UNDEFINED
			}
	}
}
---

Szene 2, Bild 2
---
Code:
loop = 1;
wait++;
if ((_root.overall>4) && (wait>120))
{
	for (i=1; i<=_root.overall; i++)
	{
		this["con"+i]._x -= 1;
		this["con"+i].onPress = function()
			{
				trace(_root["url_"+i]); // <- UNDEFINED
			}
	}
}
else
{
	stop();
	for (i=1; i<=_root.overall; i++)
	{
		this["con"+i].onPress = function()
			{
				trace(_root["url_"+i]); // <- UNDEFINED
			}
	}
}
gotoAndPlay("go"); //go -> Szene2, Bild 1
---

So das war´s soweit, an den Stellen an denen es Probleme gibt, hab ich mal das UNDEFINED hingeschrieben, vielleicht sitze ich auch schon einfach zu lange davor


Grüße
Manuel
Manuel81 ist offline   Mit Zitat antworten
Alt 05-10-2004, 11:57   #2 (permalink)
The Man Who Wasn't There
 
Benutzerbild von fraggle two
 
Registriert seit: Jul 2003
Ort: BÄRLIN
Beiträge: 1.156
hi,

die sache ist die:

bei der erstellung der mc's benutzt du die variable i aus den for-schleifen.
diese variable ist aber nicht mehr existent wenn die for schleife fertig ist.

du mußt deinen mc's ne id mitgeben bei der erstellung:

ActionScript:
  1. abstand = 25;
  2. if (loop != 1)
  3. {
  4.         wait = 0;
  5.         ebene = 100;
  6.         for (i=1; i<=_root.overall; i++)
  7.         {
  8.                 this.createEmptyMovieClip(["con"+i], ebene);
  9.                 this["con"+i].id=i;  // <- eine eindeutige id für jeden mc
  10.                 this["con"+i]._x = (i-1)*130+(i*abstand)-25;
  11.                 this["con"+i].loadMovie([pfad+"/layout/scroller/"]+_root["pic_"+i]);
  12.                 this["con"+i].onPress = function()
  13.                         {
  14.                                 trace(_root["url_"+this.id]); // <- hier mit der id arbeiten
  15.                         }
  16.                 ebene++;
  17.         }
  18. }
  19. for (i=1; i<=_root.overall; i++)
  20. {
  21.         if (this["con"+i]._x<=-130)
  22.         {
  23.                 this["con"+i]._x = 616;
  24.                 this["con"+i].onPress = function()
  25.                         {
  26.                                 trace(_root["url_"+this.id]); // <- hier mit der id arbeiten
  27.                         }
  28.         }
  29. }

die id mußt du auch an den anderen stellen verwenden wo du nen event hast.

gruß
mike
__________________
Dot-Realities
Mike Broders
Berlin

ICQ:105925103

Dot-Realities v4.0 under construction!

Geändert von fraggle two (05-10-2004 um 11:58 Uhr)
fraggle two ist offline   Mit Zitat antworten
Alt 05-10-2004, 12:23   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2004
Ort: Pforzheim
Beiträge: 2
Danke

Hallo Mike,

besten Dank, jetzt funktioniert es.
Darauf wäre ich glaub ich nicht mehr gekommen, auch wenn´s logisch ist.


Gruß
Manuel
Manuel81 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:08 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele