Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-08-2006, 17:31   #1 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 56
Question schleifenfrage

Code:
for (var j=sub_menueArray[this.i].length-1; j>=0; j--){
            sub_navi = film.attachMovie("lClip", sub_menueArray[i], k++,{_x:this._x+25, _y:this._y});
            sub_navi.out.setNewTextFormat(puri_sub_navi_style);
            sub_navi.out.text = sub_menueArray[this.i][j];
            sub_navi.j=j;
            sub_navi.i=this.i;
            sub_navi.sy=10+puri_sub_navi._y+15*j*1.01;
            sub_navi.sy2=puri_sub_navi._y;
            sub_navi.onEnterFrame=function(){
                    if (this._y>=this.sy){
                        delete this.onEnterFrame;
                    }
                    this._y+=2;
                }
            sub_navi.onRelease=function(){
                var link:MovieClip = film.createEmptyMovieClip (sub_link[this.i][this.j]+"_mc",k++);
                load_x(link,sub_link[this.i][this.j]+".swf", 0,0);
            }
        }
moin!

diese schleife soll dazu führen, dass sich untermenüs ausfahren. meine frage: kann man das besser regeln ? was müsst ich machen, damit bei weiterem klick auf eine schaltfläche die untermenüs wieder einfahren ?

danke schonmal.

gruß
roox ist offline   Mit Zitat antworten
Alt 24-08-2006, 22:11   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
was müsst ich machen, damit bei weiterem klick auf eine schaltfläche die untermenüs wieder einfahren ?
Kann man ohne die fla nur raten...
  Mit Zitat antworten
Alt 24-08-2006, 22:31   #3 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
@ roox
Das gesamte AS würde auch schon reichen!
Was aber sehr merkwürdig ist, das sofortige zuteilen eines "onEnterFrame", nach erstellen der "sub_navi"!?
__________________
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 25-08-2006, 18:32   #4 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 56
Question

Zitat:
Was aber sehr merkwürdig ist, das sofortige zuteilen eines "onEnterFrame", nach erstellen der "sub_navi"!?
die dinger solln halt nach unten ausfahren und ne bessere idee (außer ggf ne funktion, deren code ich NOCH nich hinkriege) fällt mir grad net ein. bin ziemllicher as neuling

as:

PHP-Code:
//Auslesen der Punkte fürs Hauptmenü und Ausgabe selbiger Horizontal angeordnet
for (var i=0i<main_menueArray.lengthi++){   
    
menu_xpos =360;
    
puri_main_navi film.attachMovie("lClip"main_menueArray[i], 30+k++,{_x:menu_xpos+124*i+i*1.001_y:91.5}); //is ein in der Fla hinterlegter MC (nur hintergrund und Textfeld
    
puri_main_navi.out.setNewTextFormat(puri_main_navi_style);
    
puri_main_navi.out.text main_menueArray[i];
    
puri_main_navi.i=i;
    
puri_main_navi.onRelease = function() {
        if (
main_link[this.i]){
            var 
link:MovieClip film.createEmptyMovieClip (main_link[i]+"_mc",k++);
            
load_x(link,main_link[this.i]+".swf"0,0);
        } 
//wenn der Hauptmenüpunkt n Link hat, wird er ausgegeben

                          // ab jetzt beginnt meine Problemschleife. es werden die untermenüpunkte ausgelesen und das Ausfahren animiert. wie animier ich das einfahren ? 
        
for (var j=sub_menueArray[this.i].length-1j>=0j--){                              puri_sub_navi film.attachMovie("lClip"sub_menueArray[i], k++,{_x:this._x+25_y:this._y});
            
puri_sub_navi.out.setNewTextFormat(puri_sub_navi_style);
            
puri_sub_navi.out.text sub_menueArray[this.i][j];
            
puri_sub_navi.j=j;
            
puri_sub_navi.i=this.i;
            
puri_sub_navi.sy=10+puri_sub_navi._y+15*j*1.01;
            
puri_sub_navi.sy2=puri_sub_navi._y;
            
puri_sub_navi.onEnterFrame=function(){
                    if (
this._y>=this.sy){
                        
delete this.onEnterFrame;
                    }
                    
this._y+=2
                
}
            
puri_sub_navi.onRelease=function(){
                var 
link:MovieClip film.createEmptyMovieClip (sub_link[this.i][this.j]+"_mc",k++);
                
load_x(link,sub_link[this.i][this.j]+".swf"0,0);
            }
        }
    }

denke das externe laden der hintergrundgrafiken is eher zweitrangig, gelle

Geändert von roox (26-08-2006 um 13:58 Uhr)
roox ist offline   Mit Zitat antworten
Alt 25-08-2006, 22:16   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Hab deine Script-Anweisungen zwecks besserer Lesbarkeit mal in PHP-Tags eingebunden...

Außerdem könntest du dein Script mal auskommentieren.
  Mit Zitat antworten
Alt 28-08-2006, 18:29   #6 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 56
Question

sooo, soweit kommentiert, jetzt die hilfe bitte
roox ist offline   Mit Zitat antworten
Alt 29-08-2006, 08:57   #7 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 56
bitte lasst mich nich im stich mädelz. is bestimmt ganz leicht oder ?
roox ist offline   Mit Zitat antworten
Alt 29-08-2006, 12:25   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
puri_sub_navi.sy=10+puri_sub_navi._y+15*j*1.01;
puri_sub_navi.sy2=puri_sub_navi._y;
Zuerst einmal solltest du dir deine Variablenwerte im Testmodus über trace-Befehle ausgeben lassen, damit du genau weisst, was da in deinem Script passiert. Danach solltest du dir eine neue Routine für das Einfahren der Objekte schreiben.
  Mit Zitat antworten
Alt 30-08-2006, 09:38   #9 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 56
hab ich gemacht. ich weiss wie und dass das ding ausfährt. und für die routine zum einfahren fällt mir echt nix ein, deswegen schreib ich hier rein.
roox ist offline   Mit Zitat antworten
Alt 31-08-2006, 10:18   #10 (permalink)
Neuer User
 
Registriert seit: May 2006
Beiträge: 56
Question

kommt leute, erbarmt euch. biiittteeee....hier nochmal das komplette script vom menü. sogar kommentiert

PHP-Code:

//beginn der horizontal ausgerichteten Hauptnavigation
// nebeneinander stehen dann  5 punkte

for (var i=0i<main_menueArray.lengthi++){   
    
menu_xpos =360;
    
puri_main_navi film.attachMovie("lClip"main_menueArray[i], 2500+k++,{_x:menu_xpos+124*i+i*1.001_y:91.5});
    
puri_main_navi.out.setNewTextFormat(puri_main_navi_style);
    
puri_main_navi.out.text main_menueArray[i];
    
puri_main_navi.i=i;
    
puri_main_navi.onRelease = function() {
        if (
main_link[this.i]){
            var 
link:MovieClip film.createEmptyMovieClip (main_link[i]+"_mc",k++);
            
load_x(link,main_link[this.i]+".swf"0,0);
        }
        
k++;

//beginn der unternavigation. ziel: wenn einer der hauptnavi punkte unterpunkte hat
//sollen die unterpunkte unter dem hauptpunkt vertikal ausgefahren werden.
bei weiterem klick auf den hauptpunkt oder einen der anderen hauptpunkte soll der bereits ausgefahrene unterpunkt wieder eingefahren werden

        
for (var j=sub_menueArray[this.i].length-1j>=0j--){
            
puri_sub_navi film.attachMovie("lClip"sub_menueArray[i], k++,{_x:this._x+25_y:this._y});
            
puri_sub_navi.out.setNewTextFormat(puri_sub_navi_style);
            
puri_sub_navi.out.text sub_menueArray[this.i][j];
            
puri_sub_navi.j=j;
            
puri_sub_navi.i=this.i;
            
puri_sub_navi.sy=15+puri_sub_navi._y+16*j;
            
puri_sub_navi.sy2=puri_sub_navi._y;
//mein entwurf des ausfahrens. gedanke war, dass bei fertig ausgefahrenem untermenü die variable SUB_OUT gesetzt wird, 
//damit bei weiterem klick einfahren wird, aber keine ahnung, hab da irgendwo ne gedankenblockade :(
            
puri_sub_navi.onEnterFrame=function(){
            if (!
sub_out){
                if (
this._y>=this.sy){
                    
delete this.onEnterFrame;
                    if (
this.j==sub_menueArray[this.i].length-1){
                        
sub_out=true;
                        
trace (sub_out)
                        
trace (this._y);
                    }
                }
                
this._y+=2;
            }else {
                if (
this._y <=this.sy2){
                    
delete this.onEnterFrame;
                    
sub_out=false;
                    
trace (sub_out)
                }
                
this._y-=2;
            }
            }
            
puri_sub_navi.onRelease=function(){
                var 
link:MovieClip film.createEmptyMovieClip (sub_link[this.i][this.j]+"_mc",k++);
                
load_x(link,sub_link[this.i][this.j]+".swf"0,0);
            }
        }
    }
    } 

der rest dürfte selbst erklärend sein. also bitte helft mir.

DANKE
roox 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 04:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele