Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-08-2005, 21:19   #1 (permalink)
Neuer User
 
Benutzerbild von -==AIRWOLF==-
 
Registriert seit: May 2004
Beiträge: 97
MC-Schaltflächen aktivieren/deaktivieren

Hallo,

ich bräuchte mal wieder ein Denkanstoss von euch.

Ich habe mehrere MC's die als Schaltflächen fungieren. Wenn jetzt eine der Schaltflächen gedrückt wurde, soll sich die gedrückte Schaltfläche deaktivieren(schaltfläche.enable = false). Wird jetzt eine anderen Schaltfläche gedrückt, soll die zuvor gedrückte wieder aktiv werden und die zuletzt gedrückte soll sich deaktivieren.
Mein erster Gedankengang war der, dass ich mit einer for-Schleife alle Buttons aktiviere und dann mit einer if-Abfrage die betreffende Schaltfläche deaktiviere. Leider weiss ich nicht, welchen Wert ich abfragen soll, um die if-Abfrage auszuführen? Am besten wäre wahrscheinlich ein Abfrage darauf, ob die MC-Schaltfläche gerade gedrückt wurde oder nicht. Nur weiss ich leider nicht genau wie ich das Bewerkstelligen soll.
Würde mich freuen, wenn mir jemand einen Hinweis geben könnte.
Danke.
__________________
Gruß -==AIRWOLF==-
-==AIRWOLF==- ist offline   Mit Zitat antworten
Alt 08-08-2005, 21:30   #2 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Eine for-Schlweife ist schon korrekt, aber nur um alle MC's ansprechen zu
können.
Am besten du arbeitest mit einer var in der du den aktiven Button speicherst.
um ihn später wieder ansprechen zu können
ActionScript:
  1. var aktiver_mc;
  2. for(var i=0;i<anzahl;i++){
  3. this["mein"+i+"_mc"].onRelease=function(){
  4. // : deaktivieren des aktuell geklickten BTN
  5. this.enabled=false;
  6. // : reaktivieren des (falls) aktiven BTN
  7. aktiver_mc.enabled=true;
  8. // : neu speichern
  9. aktiver_mc=this;
  10. }
  11. }
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 09-08-2005, 17:02   #3 (permalink)
Neuer User
 
Benutzerbild von -==AIRWOLF==-
 
Registriert seit: May 2004
Beiträge: 97
Vielen Dank für deine Lösung.

Es ist mir ja fast schon peinlich zu fragen, aber wo habe ich diese for-Schleife hinzusetzen und wie rufe ich sie auf. Nach einigem testen, bin ich leider noch nicht auf die Lösung gekommen. Ich hatte versucht das ganze direkt auf die MC-Schaltfläche zu legen, aber leider ohne Erfolg.
__________________
Gruß -==AIRWOLF==-
-==AIRWOLF==- ist offline   Mit Zitat antworten
Alt 09-08-2005, 17:18   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Das gehört in die Hauptzeitleiste. Deine Buttons sollten dann "mein0_mc", "mein1_mc" usw. heißen. Die Variable "anzahl" ist (wie der Name schon sagt) die Anzahl der MCs (+1 eigentlich) oder du machst es so:
ActionScript:
  1. for(var i=0;i<[B]=[/B]anzahl;i++){
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 09-08-2005, 18:16   #5 (permalink)
Neuer User
 
Benutzerbild von -==AIRWOLF==-
 
Registriert seit: May 2004
Beiträge: 97
Danke dir nochmal für den Hinweis.
Mein Fehler war, dass ich das ganze Script auf "die" Hauptzeitleiste gelegt habe. Da es sich aber um Schaltflächen handelt, die sich in einer nachgeladenen .swf befinden, konnte es bei mir auch nicht funktionieren. Nachdem ich den Code an die korrekt Stelle transferiert hatte, lief es wunderbar.
__________________
Gruß -==AIRWOLF==-
-==AIRWOLF==- ist offline   Mit Zitat antworten
Alt 09-08-2005, 19:49   #6 (permalink)
Neuer User
 
Benutzerbild von -==AIRWOLF==-
 
Registriert seit: May 2004
Beiträge: 97
Hätte zu der Thematik noch eine weiterführende Frage. Besteht eigentlich die Möglichkeit z.b. den Alphawert einer deaktivierten MC-Schaltfläche zu steuern?
__________________
Gruß -==AIRWOLF==-
-==AIRWOLF==- ist offline   Mit Zitat antworten
Alt 09-08-2005, 20:51   #7 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Klar.
ActionScript:
  1. // ...
  2. this._alpha=50
  3. aktiver_mc._alpha=100
  4. // ...
  5.  
Kannst das ganze ja noch mit einen oEF verbinden (faden).
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 10-08-2005, 22:16   #8 (permalink)
Neuer User
 
Benutzerbild von -==AIRWOLF==-
 
Registriert seit: May 2004
Beiträge: 97
Ich möchte diesen Thread nochmals nach vorne schieben, weil ich nach einer Möglichkeit suche, die Schaltflächen für einen gewissen Zeitraum zu sperren (<1Sek.).
Das Probelm bei mir ist, dass ich nicht 2 Schaltflächen unmittelbar hintereinander benutzen darf, da sich sonst unerwünschte Aktionen einstellen, die Teile meines Layouts durcheinander werfen würden. Deshalb würde ich nach Betätigung einer Schaltfläche, die anderen für einen kurzen Zeitraum sperren wollen. Gibt es da sowas wie eine global Sperrfunktionen, um dies zu ermöglichen?
__________________
Gruß -==AIRWOLF==-
-==AIRWOLF==- ist offline   Mit Zitat antworten
Alt 11-08-2005, 09:36   #9 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Hi,

du könntest ihn disablen und mit setInterval() nach einer Weile über AUfruf einer Funktion wieder freigeben. Nur daran denken, das Intervall wieder zu löschen.

Verlässlicher ist es aber, über eine zentrale Funktion nach Ende deiner Transformation die Buttons wieder zu aktivieren

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 11-08-2005, 10:11   #10 (permalink)
Pending…
 
Benutzerbild von psyk
 
Registriert seit: Jul 2002
Ort: Hamburg
Beiträge: 3.866
Ich das eher über eine Bedingung lösen z.B. wenn ein Objekt eine bestimmte
Pos. erreicht hat o.ä.
__________________
:: Warum einfach, wenn's auch kompliziert geht! ::
psyk ist offline   Mit Zitat antworten
Alt 12-08-2005, 14:57   #11 (permalink)
Neuer User
 
Benutzerbild von -==AIRWOLF==-
 
Registriert seit: May 2004
Beiträge: 97
Irgendwie stelle ich mich zu blöd an. Ich bekomme es einfach nicht hin mehrere Schaltflächen abzusprechen. Wenn ich es ganz genau nehme, dann weiss ich nicht wie ich die for-Schleife in mein Script setzen soll.

Um eine Schaltfläche zu deaktivieren, habe ich folgenden Code geschrieben:
ActionScript:
  1. function Sperrung() {
  2.     _root.Kreis_mc.onEnterFrame = function() {
  3.         if (this._x<500) {
  4.             trace(_root.Kreis_mc._x);
  5.             this._x += 5;
  6.             _root.Button2_mc.enabled = false;
  7.         } else {
  8.             trace(_root.Kreis_mc._x+"else");
  9.             _root.Button2_mc.enabled = true;
  10.             delete this.onEnterFrame;
  11.         }
  12.     };
  13. }
Wenn der MC "Kreis_mc" gestartet wurde, dann soll sich die Schaltfläche "Button2_mc" solange deaktivieren, bis "Kreis_mc" eine bestimmte Postion erreicht hat. Wie oben schon erwähnt bekomme ich es nicht realisiert, darüber mehrere Schaltflächen anzusprechen.

Danke.
__________________
Gruß -==AIRWOLF==-
-==AIRWOLF==- 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 22:22 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele