Flashhilfe.de - Flash Community

Änderung (z.B. Farbe) geklickter Buttons & Funktion wenn alle Buttons geklickt [Flash 10]

 


AntwortenRegistrieren Seite1  

3iskalt#1
Benutzerbild von 3iskalt
Beiträge: 3
Registriert: Nov 2015

29.11.2015, 21:20

Liebe Leute!

Als Anfänger in Flash CS5 bin ich mit meinen geringen AS3-Kenntnissen an einen Punkt angelangt, bei dem ich ohne Hilfe nicht mehr weiterkomme. Vielleicht kann mir der eine oder andere hier im Forum ja weiterhelfen.

In meiner Hauptzeitleiste befinden sich 7 Buttons. Während einer bestimmten Zeit (automatisch durch einen Movieclip geregelt) sollen diese Buttons angeklickt werden. Egal welcher Button zuerst, als zweiter, usw. geklickt wird sollen diese sich ändern --> so weiß man, welcher Button schon geklickt wurde. Wie kann ich das mittels AS3 am besten regeln und kann ich den dargestellten (z.B. durch farbliches hervorheben) Unterschied in dem jeweiligen Button definieren oder in einem Movielip, der sich im Button befindet?

Wenn dann auch der letzte Button geklickt wurde soll in die nächste Szene gesprungen werden. Ich nehme an, das geht mittels einer if-Schleife. Aber wie sieht das als Code aus? Denn mit meinen bisherigen Vorhaben hatte ich bis jetzt noch keine Schleife verwendet.

Vielen Dank schonmal im voraus.


Lg
3iskalt
Werbung
Beiträge: 0
Registriert: Feb 2016


3iskalt#2
Benutzerbild von 3iskalt
Beiträge: 3
Registriert: Nov 2015

Themenautor/in

30.11.2015, 21:36

Mein Problem mit den sieben Buttons konnte ich schon lösen. Ich habe anstatt Buttons einfach Movieclips erstellt und in diesen im ersten Frame durch den Befehl
ActionScript:
1stop();

hier stehen lassen. Im ActionScript wurden diese aber als Buttons behandelt und in der jeweiligen zugewiesenen Funktion durch
ActionScript:
1MovieClip(meinButton).gotoAndStop(2);

gesteuert, sodass die Veränderung (Farbwechsel, Formänderung, etc.) auch ersichtlich wurde.

Mein Problem mit der (noch) fehlenden if-Schleife besteht aber weiterhin:
Wenn dann auch der letzte Button geklickt wurde soll in die nächste Szene gesprungen werden. Ich nehme an, das geht mittels einer if-Schleife. Aber wie sieht das als Code aus? Denn mit meinen bisherigen Vorhaben hatte ich bis jetzt noch keine Schleife verwendet.

Kann mir hierbei vielleicht jemand helfen? Danke schonmal.


Lg
3iskalt
Geändert von 3iskalt am 30.11.15 um 21:37 Uhr
3iskalt#3
Benutzerbild von 3iskalt
Beiträge: 3
Registriert: Nov 2015

Themenautor/in

05.12.2015, 21:34

Mein Problem wurde gelöst. Mein Dank geht an "leetwinski" von stackoverflow.com und für die Flasher unter euch, die ebenfalls eine Lösung dafür suchen folgt nun der notwendige Code (einfach kopieren) mit ein paar Erklärungen dazu:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var buttons:Array = [meinButton1, meinButton2, meinButton3, meinButton4, meinButton5, meinButton6, meinButton7]; //hier, und in diesem Code NUR hier, werden die Buttons definiert

const clicked:Dictionary = new Dictionary();

function clickHandler(event:Event):void {
     clicked[event.currentTarget] = true;
     event.currentTarget.gotoAndPlay(2) //hier springt der MovieClip (die Buttons, die diese Eigenschaft haben sollen) nach dem Klick auf Bild 2, wenn ihr das wollt. Wenn nicht dann entfernt die Zeile "event.currentTarget.gotoAndPlay(2)" einfach und es wird immer Bild 1 gezeigt
   
     const everyClicked:Boolean = buttons.every(
        function(item:Object, ...rest):Boolean {
           return clicked[item];
        });
        
     if (everyClicked) {
        for each (var button:EventDispatcher in buttons) {
           button.removeEventListener(MouseEvent.CLICK, clickHandler);
        }
        
        gotoAndPlay(1, "Szene 2"); //hier sagt ihr dem Skript, was nach dem Klick ALLER Buttons passieren soll
   }
}

for each (var button:DisplayObject in buttons) {
     clicked[button] = false;
     button.addEventListener(MouseEvent.CLICK, clickHandler);
}




Lg 3isKaLt
Geändert von 3iskalt am 05.12.15 um 21:38 Uhr

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   php-resource.de   phpforum.de   phpwelt.de   Pixelio.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Hier Werben   Impressum
© 1999-2019 Sebastian Wichmann - Flashhilfe.de