Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-10-2004, 14:32   #31 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
ich hab mich auch mal mit dem Menü beschäftigt und es ein bisschen verändert. schaut selbst. ist vielleicht etwas lang geworden, und vielleicht stehen auch ein paar weniger sinnvolle zeilen dabei, bin halt nich so der durch-blick0r. könnt ja n paar comments abgeben, bzw verbesserungsvorschläge.
PHP-Code:
mainLinks = new Array(["Wir über uns""das sind wir""das tun wir"],
                       [
"Aktuelles""Elternkreis""Selbsthilfe""xxx"],
                       [
"Angebote""Prävention""Beratung"],
                       [
"Infos"],
                       [
"Links"]);
Files = new Array(["wir_ueber_uns""das_sind_wir""das_tun_wir"],
                   [
"aktuelles""elternkreis""selbsthilfe""xxx"],
                   [
"angebote""praevention""beratung"],
                   [
"infos"],
                   [
"links"]);

mainverknuepfung "mainLink";
subverknuepfung "subLink";
//Menü-Position
posx 70;
posy 12;
//Pfad zu den verlinkten Dateien. z.B. path = "dokumente/"
path "";
//Frameeigenschaft
//_self bezeichnet den aktuellen Frame im aktuellen Fenster.
//_blank bezeichnet ein neues Fenster.
//_parent bezeichnet den übergeordneten Frame des aktuellen Frames.
//_top 
frame "_blank";
//Dateiformat
doctype "html";
//Einblendzeit Sub-Menü
blendzeit 3;
//Abstand zwischen Main-Menü-Punkten
abstand 0;
//Abstand von Main- zu Sub-Menü
sub_verschiebung 10;
//StartScale
_global.s_scale 100;
//EndScale
_global.e_scale 130;
//Scale-Geschwindigkeit
_global.spd 2;
_root.ausgefahren false;
function 
ausfahren(abnr) {
    if (!
_root.ausgefahren) {
        
_root.curr abnr;
        for (
j=1j<_root.mainLinks[abnr].lengthj++) {
            
_root.attachMovie(subverknuepfung_root.mainLinks[abnr][j], (abnr+1)*j+50);
            
_root[_root.mainLinks[abnr][j]]._alpha 0;
            
_root[_root.mainLinks[abnr][j]]._x = -40+(abnr*100)+(70-(abnr*10))+(j-1)*(_root[_root.mainLinks[abnr][j]]._width);        
            
_root[_root.mainLinks[abnr][j]]._y posy+sub_verschiebung;
            
_root[_root.mainLinks[abnr][j]].lanz.text _root.mainLinks[abnr][j];
            
_root[_root.mainLinks[abnr][j]].file _root.Files[abnr][j];
            
_root[_root.mainLinks[abnr][j]].onEnterFrame = function() {
                
_root.subAktiv.textColor 0x610E53;
                if (
this._alpha<=100) {
                    
this._alpha += blendzeit;
                } else {
                    
delete this.onEnterFrame;
                }
            };
            
_root[_root.mainLinks[abnr][j]].onRelease = function() {
                
_root.subAltAktiv _root.subAktiv;
                
_root.subAktiv this.lanz;
                
_root.subAktiv.textColor 0x610E53;
                
_root.subAltAktiv.textColor 0x000000;
                
getURL([path]+this.file+["."+doctype], [frame]);
            };
            
_root[_root.mainLinks[abnr][j]].onRollOver = function() {
                if (
_root.subAktiv == this.lanz) {
                    
this.lanz.textColor 0x610E53;
                } else {
                    
this.lanz.textColor 0x610E53;
                }
            };
            
_root[_root.mainLinks[abnr][j]].onRollOut = function() {
                if (
_root.subAktiv == this.lanz) {
                    
this.lanz.textColor 0x610E53;
                } else {
                    
this.lanz.textColor 0x000000;
                }
            };
            
_root[_root.mainLinks[abnr][j]].onReleaseOutside = function() {
                
this.lanz.textColor 0x000000;
            };
        }
        for (var 
ii abnr+1ii<_root.mainLinks.lengthii++) {
            
_root[_root.mainLinks[ii][0]]._x _root[_root.mainLinks[ii][0]]._x;
        }
    } else {
        
einfahren(_root.curr);
        
_root.curr abnr;
        
ausfahren(_root.curr);
    }
    
_root.ausgefahren true;
}
function 
einfahren(abnre) {
    for (var 
ii abnre+1ii<_root.mainLinks.lengthii++) {
        
_root[_root.mainLinks[ii][0]]._x _root[_root.mainLinks[ii][0]]._x;
    }
    for (
j=1j<_root.mainLinks[abnre].lengthj++) {
        
_root[_root.mainLinks[abnre][j]].removeMovieClip();
    }
    
_root.ausgefahren false;
}
for (var 
0i<mainLinks.lengthi++) {
    
name mainLinks[i][0];
    
_root.attachMovie(mainverknuepfungnamei);
    
_root[name]._x i*(_root[name]._width+abstand)+posx;
    
_root[name]._y posy;
    
_root[name].lanz.text name;
    
_root[name].nr i;
    
_root[name].onRollOver = function() {
        
ausfahren(this.nr);
        
_root.mainAltAktiv _root.mainAktiv;
        
_root.mainAktiv this.lanz;
        if (
_root.mainAktiv == _root.mainAltAktiv) {
            
this.lanz.textColor 0x610E53;
        } else {
            
this.lanz.textColor 0x610E53;
            
_root.mainAltAktiv.textColor 0x000000;
        }
        
this.onEnterFrame = function() {
            if (
this._xscale<e_scale) {
                
this._yscale += spd;
                
this._xscale += spd;
                
xmove spd;
                for (
p=this.nrp>=0p--) {
                    array[
p] = p-1;
                    
_root[_root.mainLinks[p-1][0]]._x _root[_root.mainLinks[p-1][0]]._x-xmove;
                }
                for (
p=this.nrp<=4p++) {
                    array[
p] = p+1;
                    
_root[_root.mainLinks[p+1][0]]._x _root[_root.mainLinks[p+1][0]]._x+xmove;
                }
            } else {
                
delete this.onEnterFrame;
            }
        };
    };
    
_root[name].onRollOut = function() {
        
this.onEnterFrame = function() {
            if (
this._xscale>s_scale) {
                
this._xscale -= spd;
                
this._yscale -= spd;
                for (
p=this.nrp>=0p--) {
                    array[
p] = p+1;
                    
_root[_root.mainLinks[p-1][0]]._x _root[_root.mainLinks[p-1][0]]._x+xmove;
                }
                for (
p=this.nrp<=4p++) {
                    array[
p] = p+1;
                    
_root[_root.mainLinks[p+1][0]]._x _root[_root.mainLinks[p+1][0]]._x-xmove;
                }
            } else {
                
delete this.onEnterFrame;
            }
        };
    };

__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 24-10-2004, 16:55   #32 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
jo, sieh gut aus.. hat aber nen paar bugs...

ich gucke mir das mal an wenn ich was mehr zeit habe...
aber auf'n ersten Blick sieht es gut aus!

grz
pape
pape ist offline   Mit Zitat antworten
Alt 25-10-2004, 16:43   #33 (permalink)
Grillmeister
 
Benutzerbild von Schaschlick
 
Registriert seit: Jul 2003
Ort: Stuttgart
Beiträge: 188
ohoh, wie unachtsam. ich hab einfach meinen code gepostet obwohl ich die datei selbst auch verändert habe. ich hab sie meinen ansprüchen angepasst. Die hoffentlich bugfreie version gibts als anhang. und danke pape dass du die bugversion auch recht gut fandest.
Angehängte Dateien
Dateityp: zip navi3.zip (3,8 KB, 108x aufgerufen)
__________________
Der Schwabe an sich kann alles nur KEIN Hochdeutsch
Schaschlick ist offline   Mit Zitat antworten
Alt 16-03-2006, 20:14   #34 (permalink)
von natur aus sanft
 
Benutzerbild von darwin26
 
Registriert seit: Jan 2002
Ort: Landshut
Beiträge: 1.404
Hi,
hat jemand noch die einzelnen Dateien auf der Platte..
die hier sind leider alle Opfer des Hackers geworden...

Besten Dank...

chris
__________________
------------------------------------------------
Lieber mal nachfragen als stundenlang doof rumsitzen ;)
Landshuter Hochzeit 1475
------------------------------------------------
darwin26 ist offline   Mit Zitat antworten
Alt 09-01-2007, 18:01   #35 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 658
fast schon ein jahr alt...

egal, das skript gefällt mir.
nur würde ich gern individuelle menübilder, also für jeden punkt ein eigenes mc anlegen. das sollte auch ohne probleme zu lösen sein.
ich würde allerdings gern das ganze zu einem slidemenü machen, also das menü auf- und zu fahren lassen.

wer weiß es, wer weiß es...?
headkit ist offline   Mit Zitat antworten
Alt 10-01-2007, 11:13   #36 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 658
also, zum thema "dynamisches slidemenü" hier meine erweiterung dieses schönen skriptes.

PHP-Code:
mainLinks = new Array(["main1""sub1""sub2""sub3""sub4""sub5"],
                      [
"main2""sub1""sub"],
                      [
"main3""sub1""sub2""sub3"]);
Links = new Array(["main1.swf""m1sub1.swf""m1sub2.swf""m1sub3.swf""m1sub4.swf""m1sub5.swf"],
                      [
"main2.swf""m2sub1.swf""m2sub2.swf"],
                      [
"main3.swf""mrsub1.swf""m3sub2.swf""m3sub3.swf"]);
mainverknuepfung "mainLink";
subverknuepfung "subLink";
posx 100;
posy 50;
abstand 5;
sub_abstand 30;
slide_velo 2;
sub_slide_velo 2;

_root.ausgefahren false;

// ### FUNKTIONEN ####################################

MovieClip.prototype.verschieber = function(endYdiv) {
    
this.onEnterFrame = function() {
        
this._y += (endY-this._y)/div;
        if (
Math.round(this._y) == endY) {
            
delete this.onEnterFrame;
            
this._y endY;
        }
    };
};


function 
ausfahren(abnr) {
    
trace("Ausfahren!");
    if (!
_root.ausgefahren) {
        
_root.curr abnr;
        for (
j=1j<_root.mainLinks[abnr].lengthj++) {
            
_root.attachMovie("subverknuepfung"_root.mainLinks[abnr][j], (abnr+1)*j+50);
            
_root[_root.mainLinks[abnr][j]]._x posx+sub_abstand;
            
_root[_root.mainLinks[abnr][j]]._y _root[_root.mainLinks[abnr][0]]._y+_root[_root.mainLinks[abnr][0]]._height;
            
subverschiebung = (_root[_root.mainLinks[abnr][0]]._y+_root[_root.mainLinks[abnr][0]]._height+(j-1)*(_root[_root.mainLinks[abnr][1]]._height+abstand)+abstand);
            
_root[_root.mainLinks[abnr][j]].verschieber(subverschiebungsub_slide_velo);
            
//_root[_root.mainLinks[abnr][j]]._y = _root[_root.mainLinks[abnr][0]]._y+_root[_root.mainLinks[abnr][0]]._height+(j-1)*(_root[_root.mainLinks[abnr][1]]._height+abstand)+abstand;
            
_root[_root.mainLinks[abnr][j]].lanz.text _root.mainLinks[abnr][j];
            
_root[_root.mainLinks[abnr][j]].link _root.Links[abnr][j];
            
_root[_root.mainLinks[abnr][j]].onRelease = function () {
                if (
S_akt != this) {
                    
S_akt.gotoAndStop(1);
                    
S_akt.enabled true;
                    
trace(this+" wurde geklickt"+", zuladene link: "+this.link);
                    
this.enabled false;
                    
_global.S_akt this;
                }
            }
            
_root[_root.mainLinks[abnr][j]].onRollOver = function () {
                if (
S_akt != this) {
                    
//this. ChangeColor(rollover)
                
}
            }
            
_root[_root.mainLinks[abnr][j]].onRollOut = function () {
                if (
S_akt != this) {
                    
//this. ChangeColor(rollout)
                
}
            }
        }
        for (var 
ii abnr+1ii<_root.mainLinks.lengthii++) {
            
verschiebung _root[_root.mainLinks[ii][0]]._y + ((_root.mainLinks[abnr].length-1)*(_root[_root.mainLinks[abnr][1]]._height+abstand)+abstand*2);
            
_root[_root.mainLinks[ii][0]].verschieber(verschiebungslide_velo);
            
//_root[_root.mainLinks[ii][0]]._y += (_root.mainLinks[abnr].length-1)*(_root[_root.mainLinks[abnr][1]]._height+abstand)+abstand*2;
        
}
        
_root.ausgefahren true;
    } else {
        if (
abnr == _root.curr) {
            
einfahren(_root.curr);
        } else {
            
einfahren(_root.curr);
            
_root.curr abnr;
            
ausfahren(_root.curr);
        }
    }
}

function 
einfahren(abnre) {
    
trace("Einfahren!");
    for (var 
ii abnre+1ii<_root.mainLinks.lengthii++) {
        
_root[_root.mainLinks[ii][0]]._y -= (_root.mainLinks[abnre].length-1)*(_root[_root.mainLinks[abnre][1]]._height+abstand)+abstand*2;
    }
    for (
j=1j<_root.mainLinks[abnre].lengthj++) {
        
_root[_root.mainLinks[abnre][j]].removeMovieClip();
    }
    
_root.ausgefahren false;
}


// ###  MENUE-ERZEUGUNG ###################################################

trace("Menüerzeugung");

for (var 
i=0i<mainLinks.lengthi++) {
    
mc_name mainLinks[i][0];
    
trace(mc_name);
    
_root.attachMovie("mainverknuepfung"mc_namei);
    
_root[mc_name]._x posx;
    
_root[mc_name]._y i*(_root[mc_name]._height+abstand)+posy;
    
_root[mc_name].lanz.text mc_name;
    
_root[mc_name].nr i;
    
_root[mc_name].link _root.Links[i][0];
    
_root[mc_name].onRelease = function () {
        if (
M_akt != this) {
            
M_akt.gotoAndStop(2);
            
M_akt.enabled true;
            
trace(this+" wurde geklickt"+", Link: "+this.link);
            
ausfahren(this.nr);
            
this.enabled false;
            
_global.M_akt this;
        }
    }
    
_root[mc_name].onRollOver = function () {
        if (
M_akt != this) {
            
//this. ChangeColor(rollover)
        
}
    }
    
_root[mc_name].onRollOut = function () {
        if (
M_akt != this) {
            
//this. ChangeColor(rollout)
        
}
    }

zudem hier auch die FLA zum downloaden - der ominöse hacker hats ja vielen vermasselt...

so long!
Angehängte Dateien
Dateityp: rar dyn_slide_menu.rar (6,5 KB, 48x aufgerufen)
headkit ist offline   Mit Zitat antworten
Alt 15-01-2007, 10:56   #37 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Beiträge: 658
waruum funktionierts falsch?

nun habe ich versucht, dieses menü in einem konkreten fall einzusetzen und verstehe nicht, warum es hier nicht richtig funktioniert!

ich habe den überblick verloren...

PHP-Code:
fscommand("showmenu"false);
Stage.showMenu=false;

mainLinks = new Array(["main1""sub1"],
                      [
"main2""sub2"],
                      [
"main3"],
                      [
"main4"],
                      [
"main5"],
                      [
"main6"],
                      [
"main7"]);

Links = new Array(      ["link""link"],
                      [
"link""link"],
                      [
"link"],
                      [
"link"],
                      [
"link"],
                      [
"link"],
                      [
"link"]);

posx 5;
posy 140;

abstand 0;
sub_abstand 10;

slide_velo 2;
sub_slide_velo 2;

_root.ausgefahren false;


// ###  MENUE-ERZEUGUNG ###################################################
menuerzeugung();
statechanger();
points._y _root[mainLinks[0][0]]._y+20;


// ### FUNKTIONEN ####################################

MovieClip.prototype.verschieber = function(endYdiv) {
    
this.onEnterFrame = function() {
        
this._y += (endY-this._y)/div;
        if (
Math.round(this._y) == endY) {
            
delete this.onEnterFrame;
            
this._y endY;
        }
    };
};

function 
statechanger() {
    for (var 
b=0b<mainLinks.lengthb++) {
        
_root[mainLinks[b][0]].gotoAndStop(1);
        
_root[mainLinks[b][0]].enabled 1;
    }
}


function 
ausfahren(abnr) {
    
trace("Ausfahren!");
    if (!
_root.ausgefahren) {
        
_root.curr abnr;
        
        
// ### ERZEUGUNG DER SUBMENÜPUNKTE ##########################################################
        
for (j=1j<_root.mainLinks[abnr].lengthj++) {
            
mc_subname _root.mainLinks[abnr][j];
            
            
            if (
j!=0) {    mc_subname_vor _root.mainLinks[abnr][j-1];
            } else {    
mc_subname_vor _root.mainLinks[abnr][0];}
            
            
trace("Subnamen: "+mc_subname);
            
_root.attachMovie(mc_subnamemc_subname, (abnr+1)*j+50);

            
_root[mc_subname]._x posx sub_abstand;
            
_root[mc_subname]._y _root[mc_subname_vor]._y _root[mc_subname_vor]._height + (abstand);
            
            
subverschiebung = (_root[_root.mainLinks[abnr][0]]._y+_root[_root.mainLinks[abnr][0]]._height+(j-1)*(_root[_root.mainLinks[abnr][1]]._height+abstand)+abstand);
            
            
trace("subverschiebung: "+subverschiebung);
            
_root[_root.mainLinks[abnr+1][j]].verschieber(subverschiebungsub_slide_velo);
            
_root[_root.mainLinks[abnr][j]].link _root.Links[abnr][j];
            
            
            
// ### SUBUMENÜ-BUTTONS ##########################################################
            
_root[_root.mainLinks[abnr][j]].onRelease = function () {
                if (
S_akt != this) {
                    
S_akt.gotoAndStop(1);
                    
S_akt.enabled true;
                    
trace(this+" wurde geklickt"+", zuladene link: "+this.link);
                    
this.enabled false;
                    
_global.S_akt this;
                }
            }
            
_root[_root.mainLinks[abnr][j]].onRollOver = function () {
                if (
S_akt != this) {
                    
//this. ChangeColor(rollover)
                
}
            }
            
_root[_root.mainLinks[abnr][j]].onRollOut = function () {
                if (
S_akt != this) {
                    
//this. ChangeColor(rollout)
                
}
            }
        }
        
        
// ### VERSCHIEBUNG DER FOLGENDEN MENÜPUNKTE ##########################################################
        
for (var ii abnr+1ii<_root.mainLinks.lengthii++) {
            
verschiebung _root[_root.mainLinks[ii][0]]._y + ((_root[_root.mainLinks[abnr][1]]._height abstand) + abstand*2);
            
_root[_root.mainLinks[ii][0]].verschieber(verschiebungslide_velo);
        }
        
_root.ausgefahren true;
    } else {
        if (
abnr == _root.curr) {
            
einfahren(_root.curr);
        } else {
            
einfahren(_root.curr);
            
_root.curr abnr;
            
//ausfahren(_root.curr);
        
}
    }
}

function 
einfahren(abnre) {
    
trace("Einfahren!");
    for (var 
ii abnre+1ii<_root.mainLinks.lengthii++) {
        
//rueckverschiebung = (-1)*(_root[_root.mainLinks[ii][0]]._y + ((_root[_root.mainLinks[ii][1]]._height + abstand) + abstand*2));;
        //_root[_root.mainLinks[ii][0]].verschieber(rueckverschiebung, slide_velo);
        // oder
        
_root[_root.mainLinks[ii][0]]._y -= (_root.mainLinks[abnre].length-1)*(_root[_root.mainLinks[abnre][1]]._height+abstand)+abstand*2;
    }
    for (
j=1j<_root.mainLinks[abnre].lengthj++) {
        
_root[_root.mainLinks[abnre][j]].removeMovieClip();
    }
    
_root.ausgefahren false;
}

function 
menuerzeugung() {
    
trace("Menüerzeugung");
    for (var 
i=0i<mainLinks.lengthi++) {
        
mc_name mainLinks[i][0];
        
mc_name_vor mainLinks[i-1][0];
        if (
i!=0) {
            
mc_name_vor mainLinks[i-1][0];
        } else {
                
mc_name_vor mainLinks[0][0];
        }
        
trace(mc_name);
        
        
_root.attachMovie(mc_namemc_namei);
        
_root[mc_name]._x posx;
        
_root[mc_name]._y _root[mc_name_vor]._y _root[mc_name_vor]._height + (abstand);
        if (
i!=0) {
            
_root[mc_name]._y _root[mc_name_vor]._y _root[mc_name_vor]._height + (abstand);
        } else {
                
_root[mc_name]._y posy;
        }
        
        
_root[mc_name].nr i;
        
_root[mc_name].link _root.Links[i][0];
        
        
_root[mc_name].onRelease = function () {
            if (
M_akt != this) {
                
M_akt.enabled true;
                
this.enabled false;
                
_global.M_akt this;
                
statechanger();
                
this.gotoAndStop(2);
                
points._visible=1;
                
points._y this._y+20;
                
trace(this+" wurde geklickt"+", Link: "+this.link);
                if (
_root.mainLinks[this.nr].length 1){
                    
ausfahren(this.nr);
                }
                
//this. ChangeColor(active)
            
}
        }
        
_root[mc_name].onRollOver = function () {
            if (
M_akt != this) {
                
//this. ChangeColor(rollover)
            
}
        }
        
_root[mc_name].onRollOut = function () {
            if (
M_akt != this) {
                
//this. ChangeColor(rollout)
            
}
        }
    }

Angehängte Dateien
Dateityp: rar menu_test.rar (39,8 KB, 28x aufgerufen)
headkit 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 19:23 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele