Flashhilfe.de - Flash Community

Buttons Problem AS3 [Flash 11]

 


AntwortenRegistrieren Seite1  

Creative#1
Benutzerbild von Creative
Beiträge: 42
Registriert: Jan 2011

24.04.2011, 21:20

http://www.flashhilfe.de/forum/actionscript-3-0/variable-name-mit-einer-variable-definieren-291214-291214.html#279126
das habe ich letztes mal gefragt aber nun habe ich ein neues Problem.
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
27
28
29
30
31
32
33
34
35
36
37
function erstellen()
   {
        var btnNameArray:Array = welche;
        var weiterArray:Array = what;
        var btnMcArray:Array = [];// Array zum speichern der erstellten Buttons
      var margLeft:Array = posx;// Menue-Abstand von links
      var margTop:Array = posy;// Menue-Abstand von oben
      for (var i:uint =0; i<btnNameArray.length; i++)
        {// selbtserklärend
         var btn:MovieClip = new Button1();// Class in Bibliothek, inkl. Textfeld
         //horizontale Navi
         //btn.x = margLeft+btn.width *i;
         //btn.y = margTop;
         //vertikale Navi
         btn.height *=  kleins;
           btn.width *=  kleins;
           btn.x = margLeft[i];// selbtserklärend
         btn.y = margTop[i];// selbtserklärend
         btn.textfeld_txt.text = btnNameArray[i];
           btn.name = btnNameArray[i];
           trace(btn.name);
           addChild(btn);
           btnMcArray[i] = btn;// speichert die Buttons im btnMcArray
         btn.buttonMode = true;// selbtserklärend
         btn.mouseChildren = false;// wenn nicht geshaltet, reagiert der Mouse-Coursor auf das Textfeld
         btn.stop();
           btn.was = what[i];
           // stoppt den ButtonMovie, der besteht aus drei Frames, "normal", "over" und "out";
         btn.weiter = weiterArray[i];// speichert die Links/Sprungziele für den jeweiligen Button
         btn.arrayID = i;// speichert für jeden durchlauf der Schleife, den Index fü+r den jeweiligen Button
         btn.clicked = false;// Variable zur Kontrolle ob der Button schon geklickt wurde
         btn.addEventListener(MouseEvent.CLICK, clickHandler);
           // selbtserklärend;
         btn.addEventListener(MouseEvent.MOUSE_OVER, overHandler);
           // selbtserklärend;
         btn.addEventListener(MouseEvent.MOUSE_OUT, outHandler);
        }

und dann Aufruf der Funktion
ActionScript:
1
2
3
4
5
6
welche = ["Kaufen" , "Abbrechen"];
      what = ["Click" , "Cancel"];
      posx = [230 , 318];
      posy = [225 , 225];
      kleins = 0.8;
      erstellen();

ich will das wenn man auf abbrechen drückt beide Buttons weggehen, also :
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
private function clickHandler(e:MouseEvent):void
   {
        e.currentTarget.clicked = true;
           if (e.currentTarget.was == "Click")
           {
              //Wenn Kaufen geklickt wurde
         }
           else
           {
              removeChild(MovieClip(e.currentTarget));
  }         
}

das Problem ist aber das ich nur den Button wegmachen kann, auf den geklickt wurde.
Ich weiß nicht mehr weiter wie ich das machen soll.
Wäre nett wenn ihr mir helfen würdet.
Schlagwörter: AS3, Buttons
Geändert von Creative am 24.04.11 um 21:21 Uhr
Werbung
Beiträge: 0
Registriert: Feb 2016


RustyCake#2
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

25.04.2011, 10:50

Alle BTN in ein Array oder MC schieben, dann lässt sich das einfacher bewerkstelligen.
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Creative#3
Benutzerbild von Creative
Beiträge: 42
Registriert: Jan 2011

Themenautor/in

25.04.2011, 11:22

und wie mache ich das (Ich weiß nicht ganz was du damit meinst)
RustyCake#4
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

25.04.2011, 12:12

Schnell zwei Beispiele gemacht. aber Du hast ja schon ein Array, also wahrscheinlich ertsteres.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
// Array-Variante
var buttonArray:Array =[];
var howManyBtn:uint = 5;
for (var i:uint =0; i<howManyBtn; i++){
     var btn:BtnClass = new BtnClass();
     btn.y = 50;
     btn.x = (btn.width * i )+50;
     buttonArray[buttonArray.length] = btn;
     addChild(btn);
     btn.buttonMode = true;
     btn.mouseChildren = false;
     btn.addEventListener(MouseEvent.CLICK, removeAllBtn);
}
function removeAllBtn(e:MouseEvent):void{
     for (var j:uint =0; j<buttonArray.length; j++){
        removeChild(buttonArray[j]);
     }
}
// MovieClip-Variante
var holderMc:MovieClip = new MovieClip();
addChild (holderMc);
var howManyBtn:uint = 5;
for (var i:uint =0; i<howManyBtn; i++)
{
     var btn:BtnClass = new BtnClass();
     btn.y = 50;
     btn.x = (btn.width * i )+50;
     holderMc.addChild (btn);
     btn.buttonMode = true;
     btn.mouseChildren = false;
     btn.addEventListener (MouseEvent.CLICK, removeAllBtn);
}
function removeAllBtn (e:MouseEvent):void
{
     while (holderMc.numChildren > 0)
     {
        holderMc.removeChildAt (0);
     }
}
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Werbung
Beiträge: 0
Registriert: Feb 2016


Creative#5
Benutzerbild von Creative
Beiträge: 42
Registriert: Jan 2011

Themenautor/in

25.04.2011, 14:50

Vielen Dank es hat geklappt.

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