Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-04-2005, 19:53   #1 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 60
if-Abfrage, aber wie?

hallo, ich arbeite gerade an einem menü welches seitlich am bildrand einfährt. die beiden menüpunkte heißen service und network. d.h. drücke ich service fahren die menüpunkte sverice von rechts nach links ins bild und bei network das selbe. ist z.b. das servicemenü schon reingefahren, fährt dieses seitlcih wieder raus sobald ich network drücke.
soweit funktioniert alles wunderbar, nur leider überschneiden sich die beiden menüpunkte beim rein und rausfahren. ich möchte jetzt gerne eine if-abfrage einbauen, die die jeweiligen menüpunkte erst wieder reinfahren lässt, sobald der andere voolständig aus dem bild verschwunden ist, um eine überschneidung zu verhindern. wie stelle ich das am besten an, bin leidern noch as anfänger!

hier mein script:
//AS im bild für menüpunkt service
stop();
MovieClip.prototype.verschieben = function(multiplikator, xposition, ratio, speed) {
if (this.sX == undefined) {
this.sX = 0;
}
this.onEnterFrame = function() {
if (this.x != xposition) {
this.sX = Number(this.sX*multiplikator)+Number((xposition-this._x)*ratio);
this._x += (this.sX*speed);
}
};
};


//das as auf dem button service
on (release) {
gotoAndStop("services");
this.mc_linksservices1.inhalt = "marketing";
this.mc_linksservices2.inhalt = "consulting";
this.mc_linksservices3.inhalt = "projects";
this.mc_linksnetwork1.verschieben(.71, 900, .1, .38);//aus dem bild raus
this.mc_linksnetwork2.verschieben(.71, 900, .1, .38);//aus dem bild raus
this.mc_linksnetwork3.verschieben(.71, 900, .1, .38);//aus dem bild raus
this.mc_linksservices1.verschieben(.71, 298, .1, .38);
this.mc_linksservices2.verschieben(.71, 298, .1, .38);
this.mc_linksservices3.verschieben(.71, 298, .1, .38);
}


// für den button network
on (release) {
gotoAndStop("network");
this.mc_linksnetwork1.inhalt = "management";
this.mc_linksnetwork2.inhalt = "line-experts";
this.mc_linksnetwork3.inhalt = "creative-experts";
this.mc_linksnetwork1.verschieben(.71, 442, .1, .38);
this.mc_linksnetwork2.verschieben(.71, 442, .1, .38);
this.mc_linksnetwork3.verschieben(.71, 442, .1, .38);
this.mc_linksservices1.verschieben(.71, 900, .1, .38);//aus dem bild raus
this.mc_linksservices2.verschieben(.71, 900, .1, .38);//aus dem bild raus
this.mc_linksservices3.verschieben(.71, 900, .1, .38);//aus dem bild raus
}


vielleicht ist es einfacher ihr schaut euch meine datei im anhang an, vielen dank schon mal im vorraus.
Angehängte Dateien
Dateityp: zip Flashmenü.fla.zip (10,9 KB, 2x aufgerufen)
laikabase ist offline   Mit Zitat antworten
Alt 08-04-2005, 22:56   #2 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
...ganz ohne if:
Menüstruktur mit LoadMovie und Rückwärts Tween ??!!

Gruß

Alois

Edit: ...sorry falscher link: Umgang mit mc steuerung und actionscript
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-

Geändert von Alois (08-04-2005 um 22:57 Uhr)
Alois ist offline   Mit Zitat antworten
Alt 08-04-2005, 23:40   #3 (permalink)
Neuer User
 
Registriert seit: May 2003
Beiträge: 60
zu komplizert

erstmal danke für deine hilfestellung, aber ich fürchte dein script ist zu kompliziert für mich, meine as kenntnisse reichen dafür nicht ganz aus. deshalb dachte ich, eine einfache if-abfrage würde ausrechen z.B.

meine einfache naive überlegung war:

if (but_network = true && this.mc_linksservices1_x = 900 )//wenn button network ist gedrückt und menüservice ist in seiner ruhepostion (auserhalb der bühne) angekommen
this.mc_linksnetwork1.verschieben(.71,442,.1,.38);//erst dann fahre menü network ins bild


nur leider ist das anscheinend nicht so einfach, es funktioniert nicht und ich weiss nicht warum!?
laikabase ist offline   Mit Zitat antworten
Alt 09-04-2005, 09:13   #4 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
genau zu kompliziert

das was Du vorhast hab ich früher auch immer gemacht, das ist aber einfach zu kompliziert!!!

Edit: uuuh, ich hab mir jetzt mal Deine fla angesehen, das ist ja wirklich viel zu kompliziert was Du da gebastelt hast. Einige Hinweise, damit Du eine Vorstellung davon bekommst, wie action-script überhaupt funktioniert:
- die Funktion MovieClip.prototype.verschieben hast Du in frame 1,20,30 definiert, das ist nicht nötig, einmal in Frame 1 definiert das reicht vollkommen aus. Der Rest kann weg.
- ausserdem hast Du in frame1 noch jeweils einen Befehl für mc_links1, mc_links2 und mc_links3 stehen. Die mc's existieren aber gar nicht, ergo können die Befehle auch weg. (Ich vermute mal, das ist der Rest einer früheren Hilfe hier)
- die Untermenu-Buttons sind extra so (von dem früheren Helfer) gestaltet worden, daß Du den Text einfach ändern kannst. Theoretisch brauchst Du also nur 3 Buttons, keine 6....
- ...wenn Dir das so zu kompliziert ist, empfehle ich Dir die Untermenu-Buttons in einen mc zusammenzufassen (dann sparst Du Dir jede Menge Code), mir scheint Du weisst nicht, daß in einem mc mehrere mc's verschachtelt sein können

...leider habe ich heute nicht die Zeit, die nötigen Änderungen an Deiner fla vorzunehmen, Du würdest überrascht sein, wie einfach das alles eigentlich ist...
...ausserdem befürchte ich, daß Du später in Deinem Hauptfenster auch noch Animationen einbinden willst. Wenn Du so weiterbastelst wie bisher wirds dann erst richtig schwer.
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-

Geändert von Alois (09-04-2005 um 09:57 Uhr)
Alois 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 15:33 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele