Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-04-2006, 20:54   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
Menüleiste bewegen + Logo animation

Hallo,
ich habe ein kleines Problem mit der Erstellung eines Menü's.
Ich habe einen Button, der bei Klick eine Animation auslösen soll... Sprich eine neue Menü-Leiste soll herunterfahren.
Ich habe ein Logo von Worldofwarcaft (kennen vllt einige), wo sich diese Welt dreht. Da aber ein paar kleine Grafik Fehler aufgetreten sind, habe ich dieses Logo angepasst, damit sich die Welt normal dreht... . Und nun ist das eine normale Animation in meiner Bühne... nur bekomm ich dieses Logo nichtmehr Exportiert . Und da liegt ja auch schon mein Problem. Die Welt soll sich ja die ganze Zeit drehen, aber wenn auf den Button geklickt wird, soll die Leiste auch runterfahren... Und das passt irgendwie nicht. Wenn ich "stop();" nutze wird ja die ganze Bühne angehalten und in einige Threads stand was von this.stop()..., aber das hat die gleiche Wirkung. Jaja ich bin ein neuling
Wie gesagt die Animation, wo sich die Welt dreht, soll Endlos abgespielt werden. Und die Menüleiste bei klick herunterfahren.
Könnt ihr mir ein paar Tipps geben?

Danke
Mortz
Mortz ist offline   Mit Zitat antworten
Alt 22-04-2006, 22:13   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du solltest dir frühzeitig angewöhnen, in Flash alles in MCs zu verpacken. Da jeder MC seine eigene Zeitleiste mit sich bringt, können MCs unabhängig voneinander abspielen. In deinem Fall bspw. könntest du die ganze Weltkugel-Animation in einen MC konvertieren und dann auf Frame 1 legen, wo auch das Menüscript liegen könnte. Beides würde unabhängig voneinander abgespielt werden...
  Mit Zitat antworten
Alt 22-04-2006, 22:29   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
hm ok ich versuchs mir anzugewöhnen danke

aber wie genau soll ich die Welt animation auf 1 frame setzen? die ist doch 25 frames lang oder meinst du die animation soll bei frame 1 anfangen und abspielen, wenn ja dann hab ich das schon


Mortz
Mortz ist offline   Mit Zitat antworten
Alt 22-04-2006, 23:10   #4 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
*froi* ich glaub ich hab mein Problem gefunden...
ich dachte das sich die beiden MC's gegenseitig behindern, aber ich habs durch probieren rausgefunden *froi*...
wenn ich nicht weiterkomme könnt ihr sicher sein, dass ich zu euch zurück komme

Mortz

P.s.: *froi*
Mortz ist offline   Mit Zitat antworten
Alt 22-04-2006, 23:14   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Äh, ein MC benötigt normalerweise nur einen Frame. Stell es dir als Schachtel auf der Hauptzeitleiste vor, in dieser Schachtel ist wiederum eine eigene Zeitleiste mit fast beliebiger Länge. Und - wie gesagt - diese Zeitleiste spielt unabhängig von der Hauptzeitleiste. Und das Tolle ist, du kannst auch in die Schachtel wieder andere Schachteln/MCs mit eigenen Zeitleisten legen.

Du musst jetzt nur noch die Schlüsselbilder deiner 25-Frame-Animations ausschneiden und in den MC kopieren.
  Mit Zitat antworten
Alt 22-04-2006, 23:34   #6 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
achso, also muss ich mir das wie sone Matruschka vorstellen, nur halt das in jeder großen viele, viele kleine Matruschka's stecken...

naja ich komm darauf nochmal später zurück

jetz hab ich ein anderes Problem
meine Menüleiste bewegt sich jetzt schonmal bei Klick um eine bestimmte strecke, aber das soll sie ja nicht abrupt machen sondern schön langsam, wie ein Tweening...
gleiste = Instanzname der Menüleiste
Code:
on(Release){
	for(i = 0; i < 10; i++)
{
 with(_root.gleiste)
 {
	 
 _y += 5;
 }

}
}
gibt es da nicht sonen Befehl, der die Schritte verlangsamt?
ich kenn von TurboPascal (bitte nicht lachen ) noch delay(100), wo die schleife immer um 100 ms verzögert wird... da gibbet es doch sicher auch nen Befehl, oder?

Mortz
Mortz ist offline   Mit Zitat antworten
Alt 23-04-2006, 00:03   #7 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Servus.
In Flash gibt es andere möglichkeiten!
PHP-Code:
MovieClip.prototype.moveMc = function(yBewegyEnd
{
    
this.onEnterFrame = function() 
    {
        
this._y += yBeweg;
        if (
this._y>=yEnd
        {
            
delete this.onEnterFrame;
        }
    };
};
this.btn_mc.onRelease = function()
{
    
this._parent.Clip_mc.moveMc(5200);
}; 
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 23-04-2006, 02:12   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Verzögerungen in modernen Multitasking-Systemen machen nicht soviel Sinn. Deswegen nimm besser wie von RustyCake vorgeschlagen entweder einen kontinuierlichen onEnterFrame-Event oder eine setInterval-Funktion.

Der onEnterFrame-Event erzwingt einen ständigen Framewechsel und wird sooft wie deine voreingestellte Bildrate in der Sekunde ausgeführt, also bspw. 12 mal pro Sekunde bei einer Bildrate von 12 FPS.

Bei einer setInterval-Funktion kannst du ohne Framewechsel Wiederholungen oder Pausen im Millisekundenbereich einstellen und zwar unabhängig von der voreingestellten Bildrate.
  Mit Zitat antworten
Alt 28-04-2006, 17:40   #9 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
hi,
also ich glaube ich mache das mit dem set interval, aber was genau muss ich da bei meinem Code wo einsetzen?
PHP-Code:
on(Release){
    for(
010i++)
{
 
with(_root.gleiste)
 {
     
 
_y += 5;
 }

}

ich habe zwar dein Post mit dem Code hier gefunden
PHP-Code:
intervalID setInterval(weiter10000);//alle 10 Sekunden...
function weiter() {
    
clearInterval(intervalID);//Intervall löschen
   
_level0.meineMCInstanz.nextFrame();
   
//und hier das nächste Interval starten, dass dann wieder auf den vorherigen Frame geht und das erste Intervall wieder startet

aber ich weiß nicht wie und wo ich das einsetzen müsste, damit in meiner Szene die Menüleiste sozusagen animiert wird.

Mortz
Mortz ist offline   Mit Zitat antworten
Alt 28-04-2006, 18:20   #10 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Ich weiß nicht für was Du des for-zeugs brauchst, aber mein bsp. funzt auch mit setInterval!
PHP-Code:
MovieClip.prototype.moveMc = function(yBewegyEndinterval
{
    
mc=this;
    var 
IID setInterval(function() 
    {
        
mc._y += yBeweg;
        if (
mc._y>=yEnd
        {
            
clearInterval(IID);
        }
    },
interval);
};
this.button_mc.onRelease = function()
{
    
this._parent.leisten_mc.moveMc(220025);
}; 
Angehängte Dateien
Dateityp: zip intMove.zip (4,5 KB, 15x aufgerufen)
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 28-04-2006, 18:38   #11 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
Danke, aber meine leiste bewegt sich nicht wenn ich das einfüge...
Aus der angehängten datei hab ich geschlossen, dass leisten_mc meine Menüleiste ist, die sich bewegen soll und button_mc der Button ist...
Aber die Leiste bewegt sich nicht nach unten.
Ausserdem bewegt sich die Leiste dann mit jedem klick noch ein bisschen weiter nach unten... mal von dem oberen Problem abgesehn, was muss ich einfügen, dass sich die leiste nach einem 2. Klick wieder nach oben an die Anfangsposition bewegt?

Mortz
Edit: ich habe gerade gemerkt, das du nur eine ebene erstellt hast, ich habe aber für das hauptmenü, wo der Button liegt eine Ebene und ich will mir für die einzelnen Leisten eine Ebene machen... da wird sich doch sicher bei dem hier etwas ändern
PHP-Code:
this.button_mc.onRelease = function() 

    
this._parent.leisten_mc.moveMc(220025); 

Geändert von Mortz (28-04-2006 um 18:44 Uhr)
Mortz ist offline   Mit Zitat antworten
Alt 29-04-2006, 09:51   #12 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
ok ich habe jetzt meine Buttons und meine Menüleisten in eine Ebene gehauen und deinen Code eingesetzt.
Klappt ja alles ganz gut, nur wie mache ich das sich die Leiste bei wiederholten klick bzw bei einem Klich auf einen anderen Button wieder zurück bewegt?
Mortz ist offline   Mit Zitat antworten
Alt 29-04-2006, 16:40   #13 (permalink)
Neuer User
 
Benutzerbild von maxVVell
 
Registriert seit: Aug 2004
Beiträge: 34
wenn du deinem button_MC1 (button1) Werte zuweisen kannst:
PHP-Code:
this.button_mc1.onRelease = function()  { 
       
this._parent.leisten_mc.moveMc(220025);

kannst du auch jedem anderen button_MC2 (button2) Werte auf diese Art zuweisen und in mit dem funktionaufruf übergeben!

PHP-Code:
this.button_mc2.onRelease = function()  { 
       
this._parent.leisten_mc.moveMc(25050025);

wenn du natürlich relativ adressierst ... musst du das AS natürllich bei dem jeweilgen MC platzieren! ... verstehst du?

regards
MAXWELL
maxVVell ist offline   Mit Zitat antworten
Alt 05-05-2006, 22:19   #14 (permalink)
Neuer User
 
Registriert seit: Apr 2006
Beiträge: 32
hidiho... ich habe nun ein wenig herumprobiert, welche Effekte ich in mein menü einbaue und habe mich nun entschieden die Menüleiste und die Buttons per alpha erscheinen zu lassen...
Jetzt habe ich wieder ein kleines Problem. Ich habe den oben genannten Code ein wenig umgebaut und habe das erhalten:
PHP-Code:
MovieClip.prototype.alpha = function(alphainterval)  

    
mc=this
    var 
IID setInterval(function()  
    { 
        
mc._alpha += alpha;
        if (
mc._alpha>=100)  
        { 
            
clearInterval(IID); 
        } 
    },
interval); 
}; 

this.b_gilde.onRelease = function() 
{  
    
this._parent.b_member.alpha(525);
}; 
alles funktioniert wunderbar, aber wenn ich eine weiter anweisung eingebe, wie z.b
PHP-Code:
this.b_gilde.onRelease = function() 
{  
    
this._parent.b_member.alpha(525);
             
this._parent.gleiste.alpha(5,25);
}; 
passiert gar nichts, obwohl er ja nur den Button und das Menü sichtbar werden lassen soll...


Mortz
Mortz ist offline   Mit Zitat antworten
Alt 06-05-2006, 00:24   #15 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Die pfade sind 100 pro. richtig??
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake 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 21:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele