Filmstreifennavigation

Dennis-S.

Erfahrenes Mitglied
Hallöchen Leute,

ich hoffe es passt hier rein, denn ich such ja noch ein Tut. Weiß einer ein gutes Tutorial irgendwo womit man diese Navigation erstellen kann? Navigation

Danke schonmal! :)
 
das kann man z.b. mit diesem prototype machen:
PHP:
movieclip.prototype.verschieben = function (xposi, faktor, was) { was._x += (xposi-was._x)/faktor;};
aufrufen kann man das dann mit:
PHP:
onClipEvent (enterFrame) {
    verschieben(180,16,_root.inhalt);
    }
}
ich geh mal davon aus das dir das bis jetzt relativ wenig sagt, also versuch ich das mal ein wenig genauer zu beschreiben.
als erstes erstellst du einen movieclip in den du deine großen 1,2,3 und so reintust.
dem movieclip gibt man den instanznamen "inhalt".
das obere prototype-skript tust du irgendwo ganz an den anfang deines flash-filmes, z.b. in frame1 der hauptzeitleise oder nach den preloader falls du einen hast.
die function verschieben verschiebt, ein objekt (in diesem falle den mc inhalt) an eine bestimmte x-position (vk).
die variabel faktor steht für die trägheit mit der das ganze von statten geht, also für das langsame beschleunigen und abbremsen. 2 verhält sich fast wie ein normaler tween und werte um die 16 machen das sehr ganze sehr träge. das hängt alles sehr von der framerate des flashfilms ab, da sollte man bei bedarf auch ein wenig rumspielen bis man die richtige gefunden hat.
also wenn ich jetzt zum beispiel das objekt "inhalt" auf die x-postion 500 rutschen lassen will und das ganze so aussehen soll als wär das in in einer zähflüssigen pampe dann geht das mit:
PHP:
verschieben(400,16,_root.inhalt);
die funktion verschieben verschiebt das allerdings nur ein einziges mal und für eine animation muß inhalt ja mehrfach um ein paar pixel bewegt werden bis es angekommen ist, also muß die funktion verschieben mehrfach aufgerufen werden.
dafür eignet sich onenterframe.
wenn man einem movielcip(keinem knopf) folgende objekt-aktion gibt:
PHP:
onClipEvent (enterFrame) {
    verschieben(400,16,_root.inhalt);
    }
}
dann wird jeden frame (also bei framerate 12 12 mal pro sekunde) geprüft ob inhalt schon auf x-position 400 ist, wenn nicht wird es entsprechend bewegt.

jetzt muß man nur noch rausfinden welche zahl mit welcher x-position zusammenhängt; am einfachsten dadurch das man irgendwelche werte eingibt und guckt was passiert.
wenn man dann weiß welche zahl welche x-posi braucht, muß man nur noch knöpfe bauen die bei bedarf die entsprechenden onenterframe-anweisungen starten.
da gibt es jetzt mehrere möglichkeiten das zu machen, eine der einfachsten ist für jede zahl einen movieclip zu erstellen der aus 2 frames besteht:
1.frame hat als frameaktion ein stopp und mehr nicht
2.frame hat auch ein stopp als frameaktion und einen weiteren movieclip der als objektaktion den onenterframe-befehl hat. also für die x-posi 400 :
PHP:
onClipEvent (enterFrame) {
    verschieben(400,16,_root.inhalt);
    }
}
wie die beiden movieclips aussiehen ist reichlich egal, es geht nur darum das der "äußere" bei frame1 nix macht und bei frame2 die aktion ausführt. den "äußeren" gibt man als instanznamen z.b. "inhalt3start" sofern den als x-position die für die zahl 4 verwendet wurde.
nach dem schema baut man dann inhalt1start, inhalt2start, inhalt3start, usw. jeweils mit den entsprechenden xposis.

wenn man jetzt einen knopf erstellt und ihn als objektaktion -
PHP:
on(release) {
    _root.inhalt1start.gotoandstop(2);
}
gibt.
dadurch wird beim klicken der mc aufgerufen der wiederum die funktion aufruft die das entsprechnde macht damit mc inhalt sich zu der xposition die man in inhalt1start festgelegt hat bewegt.
das ganze macht man dann für alle zahlen, also bei 5 zahlen hat man dann auch 5 'inhalt+zahl+start's und 5 knöpfe.

die funktionieren bei dem aktuellen stand allerdings nur beim ersten mal klicken, was mit der enterframe-anweisung zusammenhängt.
die läuft nämlich dauernd weiter. und solange "inhalt2start" dafür sorgt das mc "inhalt" auf seiner xposi bleibt kann man noch so oft "inhalt3start" sagen das er was machen soll, die beiden funktion heben sich auf. inhalt3start schiebt in einen in richtung 3, inhalt2start einen in richtung 2, usw.
damit das nicht passiert kann man entweder zusätzlich an einer stelle überprüfen ob ein bewegungsvorgang abgeschlossen ist, so das wenn inhalt2start mit seiner bewegung fertig ist er wieder in frame1 springt wo ja nur das stop ist.
bevor ich jetzt hier aber mit noch mehr variabeln rumhantiere, erklär ich mal einfach die simpelste lösung und die geht so das man den knöpfen sagt das alle anderen stoppen sollen und der entsprechnde nur seinen anweisung ausführen darf. konkret sehe die objektanweisung von knopf3 bei 5 nummern dann so aus:
PHP:
on(release) {
    //erstmal alles was nix zu sagen hat austellen:
    _root.inhalt1start.gotoandstop(1);
    _root.inhalt2start.gotoandstop(1);
    _root.inhalt4start.gotoandstop(1);
    _root.inhalt5start.gotoandstop(1);
    //dann dem richtigen sagen das er starten soll:
    _root.inhalt3start.gotoandstop(2);
}
dementsprechend gestaltet man dann auch die anderen knöpfe.
und das wärs dann.
hoffe das war jetzt nicht zuviel der information.
 
Zurück