Schaltfläche deaktivieren

frage

Mitglied
Hallo
Mit welchem AS kann ich die Schaltfläche so steuern, dass sie beim ersten mal klicken aktiv ist, aber dafür dann inaktiv.
Habe nämlich ein Menü erstellt und will haben, dass bei mehrmaligen Klicken auf einen Button die Animation nur einmal und zwar am Anfang abläuft.

Habe schon versucht mit: schaltflaeche.enabled=false
 
Und wieso frägst du dann noch? Ist doch schon der korrekte Code.

Dein Button:

on (release) {
>>> Aktionen die ausgeführt werden sollen <<<
der_instanzname_der_schaltfläche.enabled = false;
}



MfG
Killkrog
 
Vielleicht habe ich das etwas unverständlich geschrieben, aber meine Situation ist so.
1.) Ich habe ein Menü mit 5 Buttons, wovon jeder Button ein Fenster öffnet.

2.) Klicke ich zum Beispiel auf den ersten Button, so öffnet er das Fenster mit Animation, klicke ich dann auf den zweiten Button schließt er das fenster mit Animation und öffnet es wieder. ( sozusagen: slide in und out Menü navigation).

Mein Problem ist, wenn ich beispielsweise zweimal auf den gleichen button klicke läuft die Animation mit slide in und out ab, dabei wäre es viel besser wenn das Fenster bei mehrmaligen Drücken des gleichen Buttons gleich stehenbleiben würde.

Deshalb meine Idee --> Schaltfläche deaktivieren
 
PHP:
button.onRelease = function() {
    // hier deine ganzen Aktionen die über den Button stattfinden sollen
    // ...
    this.enabled = false;
}
hth,
Adam
 
Danke, das selbe was ich auch schon sagte @ Geist :-(

@ frage (blöder Nick...)
Du kannst es auch ganz einfach machen.

Sagen wir du hast 5 verschiedene Menüs mit jeweils einem Knopf.
Dann könntest du, wenn du auf Button_1 klickst dieses AS benutzten:

on (release) {
if (_global.showed_menu <> 1) {
>>> Aktionen
_global.showed_menu = 1;
}
}

Sprich du überprüfst erstmal, ob du nicht schon in dem entsprechenden Menü bist. Sollte dies der Fall sein, macht er einfach gar nix. Wenn es nicht so ist, dann führt er deine beliebigen Aktionen aus und stellt eine globale (das heisst von überall ohne Pfadangabe abrufbare) Variable auf '1';

So kannst du immer überprüfen, in welchem Menü du bist und entsprechen die Buttons handeln lassen.

Grüßle vom Killy
 
Danke, das selbe was ich auch schon sagte @ Geist :-(
Weiß ich doch killy, aber trotzdem scheint es ja nicht ganz angekommen zu sein, schon bei der Angabe des Instanznamens scheitert es ab und an bei Leuten. :)

War keine böse Absicht, dass sich die Postings so sehr gleichen seh ich erst jetzt. :eek:

sorry,
Adam
 
Ach schmarn, nix zu entschuldigen. Trotzdem glaube ich, dass in dem Fall meine Lösung sogar besser ist. Weil wenn man mit enable arbeiten würde, müsste man ja trotzdem bei jedem neu angeklickten Button ALLE anderen Buttons wieder aktivieren, weil man ja nicht weiss, von 'wo' man kam.

~ Killy

PS: Sie haben Post.
 
hi frage

ich würd's wie Adam auch mit enabled lösen, ist sauberer
und auch visuell sichtbar (durch entfernen des handcursors).

mein Vorschlag:
PHP:
//buttons in einen array legen
_global.btn_array = [one_mc, two_mc, three_mc];
// funktion für das aktivieren/deaktivieren
checkButton = function (arr, btn) {
	for (var i in arr) {
		arr[i] == btn ? arr[i].enabled=0 : arr[i].enabled=1;
	}
};
//button event handlers
one_mc.onRelease = function() {
	this._parent.checkButton(btn_array, this);
	trace(this);
};
two_mc.onRelease = function() {
	this._parent.checkButton(btn_array, this);
	trace(this);
};
three_mc.onRelease = function() {
	this._parent.checkButton(btn_array, this);
	trace(this);
};


@killkrog: möchtest du nicht langsam die mx-Syntax
übernehmen. Flash 7 ist nicht mehr allzu fern...


gruss stephan
 

Anhänge

  • button enabler.zip
    2,3 KB · Aufrufe: 33
Original geschrieben von Stephan Zesiger
@killkrog: möchtest du nicht langsam die mx-Syntax
übernehmen. Flash 7 ist nicht mehr allzu fern...

Joah i woas. Flash 5 ist bei mir eben so derbe eingefleischt. Und meistens wenn ich was scripte hör ich Musik und schreib einfach irgendwas hin, und das ist halt das, was so ewig gelernt habe.
Aber ich versuch mich zu bessern ^^
 
Zurück