Flashhilfe.de - Flash Community

ID von Dynamischen Buttons [Flash 10]

 


AntwortenRegistrieren Seite1  

manuel.kleinert#1
Benutzerbild von manuel.kleinert
Beiträge: 31
Wohnort: Schweiz
Registriert: Feb 2007

14.10.2009, 17:00

Hallo zusammen

Wie bringe ich die aktuelle Variable i von dem Button den ich klicke in die Funktion, damit ich weiss welchen Text ich ausgeben muss aus der XML.
Danke schon mal im Voraus.

Gruss Manuel


ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for(var i = 0; i < xml_page.seiten.seite[page_id].liste.kat.length(); i++)
{
         btn_array_list[i] = new btn_kat_mc();
         btn_array_list[i].x = 360;
         btn_array_list[i].y = 200 + (i * 40);
        btn_array_list[i].i = i;
        btn_array_list[i].addEventListener(MouseEvent.CLICK,getTextList);
         liste_mc.addChild(btn_array_list[i]);
}

function getTextList(e:MouseEvent)
{
           // trace(""+ xml_page.seiten.seite[page_id].liste.kat.kat_text[i]+"");
}
Homepage: www.xPager.ch
derFloh#2
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

14.10.2009, 18:45

hey,

wenn du eh deine eigene klasse "btn_kat_mc" geschrieben hast, kannst du doch dort deine variable vorsehen. also eine:

public var i : Number;

definieren, die du in deiner schleife füllst.
abrufen kannst du es dann in deiner funktion über:

e.currentTarget.i;

probiers mal.
grüße
flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
manuel.kleinert#3
Benutzerbild von manuel.kleinert
Beiträge: 31
Wohnort: Schweiz
Registriert: Feb 2007

Themenautor/in

14.10.2009, 19:00

Danke für die Antwort aber btn_kat_mc ist kein Klasse sonder ein Objekt  (Button) aus der Bibliothek.
Homepage: www.xPager.ch
Kerstin77#4
Benutzerbild von Kerstin77
Beiträge: 1004
Registriert: Jul 2008

14.10.2009, 19:56

Hi,

speicher die Buttons in einem Array, und bei Klick liest Du den Index des Buttons aus dem Array aus. Ungefähr so:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var btn_arr:Array = new Array();

for (var i:uint = 0; i<5; i++) {
   var _btn:Btn = new Btn();
   _btn.x = 10;
   _btn.y = i*30 + 10;
   _btn.addEventListener(MouseEvent.CLICK, traceIndex);
   addChild(_btn);
   btn_arr.push(_btn);
}

function traceIndex(evt:MouseEvent):void {
   trace(btn_arr.indexOf(evt.target));
}


Grüße,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
derFloh#5
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

14.10.2009, 20:03

hey,
naja genau genommen ist auch dein button in der bib eine klasse.
immerhin erstellst du mit  "new"  eine instanz einer klasse.
wenn du es richtig machen willst, kannst du deinem button in der
bib eine andere basisklasse geben...
Bsp:
1. speicher eine .as Datei mit dem namen "ButtonClass.as" in den selben
Ordner wo deine .fla liegt.

2. der inhalt der datei ist:
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
package
{
   import flash.display.*;
   

   
   public class ButtonClass extends MovieClip
   {
      private var id : Number;
      
      
      
      
      public function ButtonClass():void
      {
         return;
      }
      
      
      
      public function get i():Number
      {
         return id;
      }
      
      public function set i( _id : Number ):void
      {
         id = _id;
      }
   }
}


3. wie hier beschrieben die Basisklasse ändern. Den Klassennamen besser groß schreiben.

Originalgröße anzeigen


4. eine instanz deiner klasse erstellst du nun mit:
btn_array_list[i] = new Btn_kat_mc();
btn_array_list[i].i = i;

Das sollte so klappen.
Hoffe das ist jetzt nicht zu viel.... ist jedenfalls der schönere weg.

gruß
flo


EDIT: War da jemand schneller?!
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
Geändert von derFloh am 14.10.09 um 20:06 Uhr
manuel.kleinert#6
Benutzerbild von manuel.kleinert
Beiträge: 31
Wohnort: Schweiz
Registriert: Feb 2007

Themenautor/in

14.10.2009, 20:41

Ok ich werde es einmal versuchen.
Danke schon mal.
Homepage: www.xPager.ch
Geändert von manuel.kleinert am 14.10.09 um 20:41 Uhr
manuel.kleinert#7
Benutzerbild von manuel.kleinert
Beiträge: 31
Wohnort: Schweiz
Registriert: Feb 2007

Themenautor/in

14.10.2009, 21:00

Ich habe jetzt die variante von Kerstin77 genommen und es hat wunderbar geklappt.
Danke nochmal

Hier könnte ihr noch sehen für was ich das brauche. hier
Homepage: www.xPager.ch

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   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de