Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-11-2008, 08:45   #1 (permalink)
sweisse
 
Registriert seit: Nov 2002
Beiträge: 53
Dringende Denkhilfe –*hab im Moment eine Blockade wie ich das umsetze!

Hallo,

ich programmiere im Moment eine reine Flash Seite.
Diese habe ich komplett im Moment in einer FLA angelegt.

Die einzelnen Seiten rufe ich durch eine andere Szene und dort
durch die Bildbezeichnung auf. Das klappt auch wunderbar nur
hab ich jetzt auf jeder Seite ein Headerbild das sich ebenfalls
wechselt, klappt auch noch perfekt doch springt natürlich Flash
immer zu dem Keyframe den ich angebe und da liegt dann z.B.
nicht mehr das eine Bild darunter das bei z.B. Leistungen darunter
liegt.

Ich weiss nicht wie ich es besser beschreiben soll. Hier vielleicht
kurz ein Beispiel. Ich bin auf der Seite Leistungen. Dort ist das
Bild Leistungen sowie der Text dazu. Jetzt klicke ich auf Referenzen
dann springe ich mit GoTo auf die Bildbezeichnung Referenzen, hier
blendet in den nächsten 50 Frames ein Bild ein sowie der dazugehörige
Text, allerdings liegt das Bild von Leistungen nicht mehr darunter.
Ich könnte es zwar weiter laufen lassen doch habe ich ja insgesamt 10
Menüpunkte.

Grundlegend einfach das Problem. Ich möchte einen saubere Überblendung der Bilder haben beim Menüpunktwechsel ....

Hoffe Ihr wisst was ich meine und könnt mir eine Denkhilfe geben wie ich das am besten löse nach Möglichkeit ohne Actionsscript.

Danke im voraus.
sweisse ist offline   Mit Zitat antworten
Alt 26-11-2008, 09:18   #2 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
dann mach halt fadeOuts dazu!! also bei klick auf einen menüpunkt wird zuerst der inhalt der aktuellen seite (leistungen) ausgefaded und wenn der fade zuende ist, dann erste per gotoAndStop("referenzen") die neue seite einfaden lassen.

sonst das ganze nicht über szenen und frames machen sondern per swfloader!
also entweder moviecliploaderclasse in as2 oder simpel über addChild in as3!

gruß
__________________
!!!
mathiregister ist offline   Mit Zitat antworten
Alt 26-11-2008, 09:30   #3 (permalink)
sweisse
 
Registriert seit: Nov 2002
Beiträge: 53
Hallo Matthias,

das hört sich gut an allerdings wenn ich ein Fade Out mache dann kann ich keine Überblendung erstellen richtig? Aber ansonsten wäre das eine gute Lösung gewesen, sprich so muss ich es jetzt über swfload machen oder?

Was ich leider nicht verstanden habe ist:
also entweder moviecliploaderclasse in as2 oder simpel über addChild in as3!

Sorry, kannst Du mir das genauer erläutern kapier ich nicht :-)
sweisse ist offline   Mit Zitat antworten
Alt 26-11-2008, 09:45   #4 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
mit überblenden wirds so schwierig werden, richtig erkannt!
du könnstest theoretisch deine inhaltsseiten in movieclips packen und wenn movieclip_leistungen zur hälfte ausgefadet ist, movieclip_referenzen einfaden lassen! dann klappt das aber mit den szenen nicht mehr! d.h. dann müsstest du quasi alle inhalts_movieclips (mc_leistungen, mc_referenzen, mc_usw.) übereinander legen und auf ._alpha = 0 setzen bzw. ._visible = false und wenn du sie aufrufen willst ein und aus faden lassen!!

Zitat:
Was ich leider nicht verstanden habe ist:
also entweder moviecliploaderclasse in as2 oder simpel über addChild in as3!

Sorry, kannst Du mir das genauer erläutern kapier ich nicht :-)
also as2 bedeutet ActionScript 2!
und as3 ActionScrip 3!

arbeitest du überhaupt mit code oder baust du rein alles über frames auf?
ein stop() wirst du wohl hin und wieder verwenden, oder?

hier ein beispiel für AS2

PHP-Code:
var empty = this.createEmptyMovieClip("container"100+i);
//leeren MovieClip erstellen in den du dann deine unterseiten lädst
empty._x 0;//Position deiner Inhalte
empty._y 0;
my_mc = new MovieClipLoader();//neues MoviecliploaderObject erstellen
preload = new Object();//Preloader
my_mc.addListener(preload);//Listener hinzufügen
preload.onLoadStart = function(targetMC) {//beim starten des ladevorgangs
    
trace("started loading "+targetMC);
};
preload.onLoadProgress = function(targetMClBytestBytes) {
    
//während des ladevorgangs preloader anzeigen
};
preload.onLoadComplete = function(targetMC) {
    
//deinen inhalt einfaden lassen
    
trace(targetMC+" finished");
};

button.onRelease = function() {
    
my_mc.loadClip("deineUnterseite.swf""container");
}; 
wenn du aber keinen plan von script hast, ist diese variante eigentlich nicht zu empfehlen! machs über movieclips wie ichs oben erklärt habe
__________________
!!!
mathiregister ist offline   Mit Zitat antworten
Alt 26-11-2008, 10:29   #5 (permalink)
sweisse
 
Registriert seit: Nov 2002
Beiträge: 53
Hi Matthias,

danke nochmal für die Antwort. Doch etwas Ahnung habe ich von ACS allerdings schreiben kann ich es selber nicht :-) Verwende halt die Hilfen aus Flash bzw. aus anderen Vorlagen.

Ok habe das mit den MC verstanden aber wie lautet dann das ACS für das ein und ausblenden der jeweiligen MC?

Geändert von sweisse (26-11-2008 um 10:32 Uhr)
sweisse ist offline   Mit Zitat antworten
Alt 26-11-2008, 10:44   #6 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
PHP-Code:
import mx.transitions.*;
import mx.transitions.easing.*;
var 
tw = new Tween(deinInstanzname"_alpha"mx.transitions.easing.None.easeNone10001true); 
statt "_alpha" kannst du natürlich auch "_x", "_y" für die positionen eingeben... also z.B.


z.B.:
PHP-Code:
var tw = new Tween(deinInstanzname"_x"mx.transitions.easing.None.easeNone01001true); 
-->
heißt dass deinInstanzname von position 0 bis position 100 getweent wird (in einer sekunde), jedoch ohne einen tweening effekt, da ja NONE steht.
setze mal z.B. mx.transitions.easing.Elastic.easeOut ein... und schon hast du ein brauchbares ergebnis... in der flashhilfe werden dir alle easing typen genannt. kannst du durchprobieren. bei alpha, so wie du das haben willst ist None am besten!!

du kannst dann auch abfragen wann der tween zu ende ist:
PHP-Code:
var tw = new Tween(deinInstanzname"_alpha"mx.transitions.easing.None.easeNone01001true); 
tw.onMotionFinished = function () {
//das soll passieren wenn der tween zu ende ist

__________________
!!!
mathiregister ist offline   Mit Zitat antworten
Alt 26-11-2008, 10:55   #7 (permalink)
sweisse
 
Registriert seit: Nov 2002
Beiträge: 53
Ok, ich glaube das ist mir dann doch etwas zu viel ACS, sorry.
Ginge auch eine einfachere Lösung so gut als möglich ohne ACS?
Da steig ich sonst nicht durch! Wäre dankbar wenn Du mir nochmal
antworten könntest.
sweisse ist offline   Mit Zitat antworten
Alt 26-11-2008, 11:41   #8 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
andere lösungen wird es kaum geben, entwede über as lösen oder wie oben schon mal beschrieben über movieclips...

also z.B. dein inhalt leistungen besteht aus einem textfeld und einem bild, wähle beides aus und konvertiere es in einen mc! dann instanzname mc_leistungen vergeben! auf die ganzen szenen komplett verzichten!

im mc_leistungen legst du dir deine fades an, von 0 - 15 wird das ding eingefaded, auf 15 liegt ein stop() und von 16 bis 30 wird das ding wieder ausgefadet!

das selbe machst du für alle inhalt (referenzen usw.)...

dann einfach wenn leistungen ausfaded im mc_leistungen auf ca. frame(22) ein script legen mit mc_referenzen.play()...dann siehst du leistungen ausfaden und gleichzeitig faded referenzen darüber ein!

das ist zwar ne absolute murx-lösung aber anders wirds ohne as kaum möglich sein!

lg
__________________
!!!
mathiregister ist offline   Mit Zitat antworten
Alt 26-11-2008, 12:58   #9 (permalink)
sweisse
 
Registriert seit: Nov 2002
Beiträge: 53
Hm und kann ich mittels loadMovie direkt zu einer Keyframe stelle springen weil ich denke ich werde jetzt diesen Weg gehen, erscheint mir am einfachsten?

on (release) {
loadMovieNum("leistungen.swf", 0);
}
sweisse ist offline   Mit Zitat antworten
Alt 26-11-2008, 14:25   #10 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Zitat:
Zitat von sweisse Beitrag anzeigen
Hm und kann ich mittels loadMovie direkt zu einer Keyframe stelle springen
Nur nachdem die Stelle auch geladen ist.
Warum teilst du die Inhalte nicht in einzelne Filme und lädst die dann nach? Dann musst du beim Laden nirgendwohin springen.

@mathiregister
AS2 und 3 gab's in Flash MX noch nicht.
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 26-11-2008, 14:30   #11 (permalink)
sweisse
 
Registriert seit: Nov 2002
Beiträge: 53
Wie meinst Du das?
<<Warum teilst du die Inhalte nicht in einzelne Filme und lädst die dann nach? Dann musst du beim Laden nirgendwohin springen.>>

Meinst Du damit dann diesen Befehl:

on (release) {
loadMovieNum("Leistungen", 1);
}
sweisse ist offline   Mit Zitat antworten
Alt 26-11-2008, 14:32   #12 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
oh, da hab ich wieder nicht gelesen! danke für den hinweis

Zitat:
Warum teilst du die Inhalte nicht in einzelne Filme und lädst die dann nach? Dann musst du beim Laden nirgendwohin springen.
so hätte ich das ja auch über moviecliploader gelöst!
__________________
!!!
mathiregister ist offline   Mit Zitat antworten
Alt 26-11-2008, 14:34   #13 (permalink)
sweisse
 
Registriert seit: Nov 2002
Beiträge: 53
An Euch beide, meint ihr damit dann diese Funktion zum aufrufen der einzelnen Filme?

on (release) {
loadMovieNum("Leistungen", 1);
}
sweisse ist offline   Mit Zitat antworten
Alt 26-11-2008, 14:50   #14 (permalink)
industry painter
 
Benutzerbild von edding950
 
Registriert seit: Aug 2006
Ort: auf'm Pott
Beiträge: 760
Zitat:
Zitat von rena Beitrag anzeigen
@mathiregister
AS2 und 3 gab's in Flash MX noch nicht.



Wieso filme laden? Ich dachte das komplette Projekt ist eh in einer fla verpackt?

Im Grunde geht es doch nur darum, den vorausgegangenen Inhalt zum aktuell angewählten Inhalt zu wissen, oder?

ActionScript:
  1. // Script auf Deinen Menubuttons:
  2. on (release)
  3. {
  4.      // vorausgegangener Menupunkt:
  5.      trace("vorausgegangener Menupunkt:   "+_root.aktuellerMenupunkt);
  6.      _root.aktuellerMenupunkt = MenuPunktDiesesButtons;
  7. }

Bleibt dann noch das Problem, die jeweilige Szene sozusagen als Background unter den neuen Inhalt zu legen...Ohne Basiskenntnisse im Umgang mit MovieClips u.a. könnte das allerdings problematisch werden.
__________________
mfg.
edding950 ist offline   Mit Zitat antworten
Alt 26-11-2008, 14:50   #15 (permalink)
Gelbraum
 
Benutzerbild von mathiregister
 
Registriert seit: Jun 2007
Beiträge: 1.144
verwende moviecliploaderklasse, ist einfacher!

um das ganze für dich schnell zu erläutern!
mach genau das hier nach!
1.) erstelle ne neue fla und nenne sie "unterseite.fla"
2.) schreibe mit riesigen großbuchstaben "TEST" mittig auf die seite und exportiere "unterseite.swf"
3.) erstelle ne neue fla und nenne sie "Hauptseite.fla"
4.) im ersten frame fügst du folgenden code ein
2.) auf frame1 folgendes script einfügen
PHP-Code:
var empty = this.createEmptyMovieClip("container"100+i);
//leeren MovieClip erstellen in den du dann deine unterseiten lädst
empty._x 0;//Position deiner Inhalte
empty._y 0;
my_mc = new MovieClipLoader();//neues MoviecliploaderObject erstellen
preload = new Object();//Preloader
my_mc.addListener(preload);//Listener hinzufügen
preload.onLoadStart = function(targetMC) {//beim starten des ladevorgangs
    
trace("started loading "+targetMC);
};
preload.onLoadProgress = function(targetMClBytestBytes) {
    
//während des ladevorgangs preloader anzeigen
};
preload.onLoadComplete = function(targetMC) {
    
//deinen inhalt einfaden lassen
    
trace(targetMC+" finished");
};

button.onRelease = function() {
    
my_mc.loadClip("unterseite.swf""container");
}; 
6.) dann erstell auf dem ersten frame einen button und gib ihm den instanznamen button!
7.) film testen

nun sollte bei buttonklick deine unterseite geladen werden...so kannst du dann deine ganze seite bauen

erstell dir ein menü und schreib dann einfach für jeden menübutton folgende zeile dazu:

z.B.
PHP-Code:
leistungen.onRelease = function() {
    
my_mc.loadClip("leistungen.swf""container");
}; 
__________________
!!!
mathiregister 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 02:04 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele