Flash Frameartige Verlinkung

Tabrizi

Erfahrenes Mitglied
Hi Leute,

also erstmal damit ihr besser verstehen könnt, was ich meine, habe ich eine Skizze hochgeladen:

http://www.romaris.de/a/skizze.bmp

(Die Felder mit 1 stehen für Menülinks und das Feld mit der Nummer 2 das Fenster mit dem Menüinhalt)

so also:

Wie mach ich das in Flash, das ich wenn ich auf z.B den Menüpunkt Impressum klicke, im Feld 2 dann auch das Impressum kommt?

Also ich kann bisher immer nur die gesamte Flashpage neuladen lassen, aber das ist sehr lästig und nunja dauert halt immer wenn man in ein anderes Menü will.

Also ich will halt wissen wie man sozusagen mit Flashframes *g* arbeitet, ich hoffe ihr versteht was ich meine.

Ich habe mir extra ein Buch gekauft, aber dieser Autor hatte irgendwie ab der 300. Seite anscheinend keine Lust mehr richtig ausführlich zu schreiben, daher meine klägliche Frage.

Mit freundlichen Grüßen

Tabrizi

:-)
 
Hi,

Du kannst im rechten Bereich eine beliebige Anzahl MovieClips, die zunächst unsichtbar sind, ablegen und beim Anwählen eines Menüpunktes den gewünschten Clip sichtbar schalten. (Handbuch: MovieClip._visible)

Wenn Du die Inhalte als externe SWF-Dateien vorliegen hast, kannst Du sie mit (Handbuch) loadMovie in einen (Suchbegriff) Container einladen.

Gruß

P.S.: hier mal ein ganz kleines Beispiel mit eingebetteten MCs: Wenn Du z.B. 5 MCs mit den Instanznamen "inhalt1" - "inhalt5" hast, kannst Du auf die Buttons im Menu folgendes Script legen, das alle Clips außer dem Gewünschten ausblendet:
PHP:
// Code auf den Buttons (z.B. Button 5):
on (release) _root.showContent(5);

// Code auf _root (Hauptzeitleiste):
function showContent(nr) {
  for (var i=1; i<=5; i++) {
    if (i != nr) this["inhalt" + i]._visible = false;
  }
  this["inhalt" + nr]._visible = true;
}
Etliche (unterschiedlich komplexe und elegante) Varianten kursieren im Forum und im Netz. ;)
.
 
Jo das ist ja schonmal etwas,

aber kann man nicht irgendwie sozusagen einen Frame definieren der dann z.B. "Inhalt" heißt und dann halt als Ziel der Buttons "inhalt" angeben?

Ich meine sowas fände ich persönlich sehr einfach, ist das möglich in Flash?
 
so was?
PHP:
on(release) {
    _root.container.loadMovie("inhalt1.swf");
}
geht natürlich, ist aber im Endeffekt mehr Schreibarbeit, als nur eine Funktion mit einem Index aufzurufen - vor allem, wenn Du mit Preloadern arbeitest...

... Links wie in html gibt es in Flash nicht. Du kannst zwar mit getURL eine html-Seite anzeigen lassen, aber Deinen Film nicht in Frames o.ä. unterteilen. Dazu gibt es MovieClips, die auch viel mehr und komfortablere Möglichkeiten bieten.

Gruß

.
 
Muss ich dieses Actionskript dann halt auf jeden einzelnen Button legen?

Und wie positieniere ich dann sozusagen die .swf die geladen werden soll?
 
Ja, jenes Script käme auf jeden Button. Besser wäre eine globale Funktion, die den gewünschten Clip lädt, z.B.:
PHP:
// auf _root:
function loadContent(nr) {
    container.loadMovie("content" + nr + ".swf");
    // es kann ggf. ein externer Preloader implementiert werden
}

// auf den Buttons dann jeweils:
on (release) {
    _root.loadContent(2); // Hier: Button 2
}
Ich mach es ganz gerne so, dass ich der Funktion den Namen des Buttons (_name) übergebe (wobei die Buttons z.B. durchnummeriert sind) und dort mittels einer Wertetabelle den jeweiligen Dateinamen heraussuche. Die Datei kann entweder direkt geladen werden, oder mittels eines Preloaders (der über eine Funktion verfügt, der ich Container und Dateinamen als Referenz übergebe)... Man kann z.B. auch zunächst den momentan angezeigten Inhalt ausblenden lassen (z.B. über _alpha) und den neuen verzögert anzeigen (womit man die Zeit des Ladens auch ganz nett überbrücken kann), aber das würde an dieser Stelle zu weit führen.

Zur Positionierung: Du lädst Die Clips ja in einen Container-Clip (wenn Du nicht schon alle Inhalte als MCs übereinander liegen hast). Die geladenen Filme werden linksbündig und oben an dem Container ausgerichtet: liegt dieser auf 50|10, so wird die linke obere Ecke des geladenen Clips an diesem Koordinatenpaar liegen. Natürlich kannst Du jeden Clip über die Eigenschaften _x und _y beliebig positionieren.

Gruß

.
 
Der Container_Clip ist einfach ein leerer MovieClip, der auf der Bühne mit einem geeigneten Instanznamen existiert.

Übrigens: Zu dem Thema habe ich grade ein Tutorial verfasst - wenn es dieses aus der Inbox hinaus schaffen sollte, kannst Du dort vielleicht die nötigen Schritte herauslesen. ;)

Gruß

.
 
Zurück