Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-05-2004, 22:59   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 14
link oder button mit AS dynamisch erstellen

weiss irgendjemand wie ich mit Action Script dynamisch links oder buttons erzeugen und diese im MC darstellen kann?????

verwendungszweck:
habe ein dynamisch abgefülltes Array und möchte nun pro Objekt das im Array enthalten ist einen button anzeigen, mit welchem ich das angezeigte objekt wieder löschen kann.

ist sowas überhaupt möglich, oder muss ich da ganz anders vorgehen?????

vielen dank für jede hilfe
kingfisher ist offline   Mit Zitat antworten
Alt 12-05-2004, 23:33   #2 (permalink)
Flash it baby!
 
Registriert seit: Feb 2003
Beiträge: 287
Hi,

also so ganz ist mir noch nicht klar was Du meinst?

Wenn ich es richitg verstanden habe, dann hast Du eine Reihe von Mc`s, deren Namen Du in einem Array hast. Jetzt willst Du Buttons erstellen, die bei einem Klick das jeweilige Mc löschen - hab ich das richitg verstanden?

Das würde zB so gehen:

ActionScript:
  1. meinArray=["mc1","mc2","mc3"];
  2. for (i in meinArray){
  3. var k=meinArray[i];
  4. this.attachMovieClip("buttonMc","btn"+i,i,{diesenLoeschen:k}).deleteFunktion();
  5. }
  6. MovieClip.prototype.deleteFunktion=function(){
  7. this.onRelease=function(){
  8. this._parent[this.k].removeMovieClip();
  9. }

Dazu müssen die Buttons und zu löschenden Mc`s auf einer Ebene liegen und Du brauchst in der Bibliothek Deinen Button, den Du als buttonMc verknüpfst.

Geändert von Da_Judge (12-05-2004 um 23:35 Uhr)
Da_Judge ist offline   Mit Zitat antworten
Alt 12-05-2004, 23:46   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 14
vielen dank für deine antwort!
also im Array hab ich nichts anderes als Text (z.b. tshirt, hose, pulli, ect) nun möchte ich das array durch iterieren und jedes objekt in einem textfeld anzeigen und dazu immer noch einen button. mit dem button soll einfach das textfeld und der button removed werden, resp. objekt aus dem array entfernen.

brauch das für einen pseudo shop wo im array die ausgesuchten objekte gespeichert werden.

muss ich für diese problem mit mehreren mc's arbeiten? hmmm...
kingfisher ist offline   Mit Zitat antworten
Alt 13-05-2004, 08:57   #4 (permalink)
Flash it baby!
 
Registriert seit: Feb 2003
Beiträge: 287
Das einfachste wäre mit einem 2. Mc in der Bib zu arbeiten. Du könntest natürlich auch createTextField nehmen.
In dem 2. Mc ist dann einfach ein Textfeld, dem Du dann den Namen Deiner Topics übergibst. Diesen kannst Du dann auf die selbe Art und Weise attachen und removen wie den ersten.

So kannst Du dann noch das jeweilige Element aus dem Array entfernen:
ActionScript:
  1. MovieClip.prototype.deleteFunktion=function(){
  2.         this.onRelease=function(){
  3.                 this._parent[this.k].removeMovieClip();   
  4. for(i in this._parent.meinArray){
  5. if(this._parent.meinArray[i]==this.k){
  6. var j=i;
  7. break;
  8. }
  9. }
  10. this._parent.meinArray.splice(j,1);
  11. }
  12. }
Da_Judge ist offline   Mit Zitat antworten
Alt 13-05-2004, 17:37   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 14
hey vielen dank mr. richter!

kanns leider erst morgen ausprobieren, bin gespannt und denk mir damit hab ich nen tollen input bekommen! Vielen dank vorerst!!

grüsse chris
kingfisher ist offline   Mit Zitat antworten
Alt 14-05-2004, 21:36   #6 (permalink)
Flash it baby!
 
Registriert seit: Feb 2003
Beiträge: 287
hab gesehen, dass oben noch zwei kleine Fehler drinnen sind:

ActionScript:
  1. meinArray = ["mc1", "mc2", "mc3"];
  2. MovieClip.prototype.deleteFunktion = function() {
  3.     this.onRelease = function() {
  4.         trace(this._parent[this.diesenLoeschen]);
  5.         this._parent[this.diesenLoeschen].removeMovieClip();
  6.         for (i in this._parent.meinArray) {
  7.             if (this._parent.meinArray[i] == this.diesenLoeschen) {
  8.                 var j = i;
  9.                 break;
  10.             }
  11.         }
  12.         this._parent.meinArray.splice(j, 1);
  13.     };
  14. };
  15. for (i in meinArray) {
  16.     var k = meinArray[i];
  17.     this.attachMovie("buttonMc", "btn"+i, i, {_x:i+50, diesenLoeschen:k}).deleteFunktion();
  18. }

und wenn Deine zu löschenden Mc`s nicht auf die Bühne geladen oder attached werden, mußt Du unloadMovie() nehmen.
Da_Judge ist offline   Mit Zitat antworten
Alt 15-05-2004, 10:32   #7 (permalink)
{flasher}
 
Benutzerbild von Majo
 
Registriert seit: Mar 2003
Ort: on water
Beiträge: 2.823
meinst du das vllt so in der art ?

ActionScript:
  1. arrName = ["Name","Vorname","Ort","PLZ","Strasse","Land","Alter","Geschlecht"];
  2. MovieClip.prototype.machMirButton = function(anzahl,startx,starty,hoehe,breite,linienfarbe1,linienfarbe2,fuellfarbe,alpha,titel){
  3.     var anzahl,startx,starty,hoehe,breite,linienfarbe2,linienfarbe2,fuellfarbe,alpha;
  4.     for(i=1;i<=anzahl;i++){
  5.         this.createEmptyMovieClip("btn"+i,15000-i);
  6.         with(this["btn"+i]){           
  7.             _alpha = 50;
  8.             moveTo(startx,(starty+(hoehe*i)+2));
  9.             lineStyle(1,linienfarbe2,100);
  10.             beginFill(fuellfarbe,100);
  11.             lineTo(startx+breite,starty+(hoehe*i)+2);
  12.             lineTo(startx+breite,starty+hoehe+(hoehe*i));
  13.             lineStyle(1,linienfarbe1,100);
  14.             lineTo(startx,starty+hoehe+(hoehe*i));
  15.             lineTo(startx,(starty)+(hoehe*i)+2);           
  16.             endFill();
  17.             id = i;
  18.         };
  19.         this.createTextField("anzeige"+i,16000-i,startx+10,starty+(hoehe*i)+2,100,20);
  20.         //this["anzeige"+i].text = this["btn"+i]._name;
  21.         this["anzeige"+i].text = titel[i-1];
  22.         this["anzeige"+i].selectable = false;
  23.         this["anzeige"+i].selectColor();
  24.         this["btn"+i].onPress = function(){
  25.             _global.activ = this._name;
  26.             this._alpha = 100;
  27.            
  28.         };
  29.         this["btn"+i].onRelease = function(){
  30.             this._visible = false;//hier kannst du auch andere mc`s verschwinden lassen
  31.         }
  32.         this["btn"+i].onRollOver = function(){
  33.             this._alpha = 100;
  34.         };
  35.         this["btn"+i].onRollOut = function(){
  36.             this.fadeOut(5);
  37.         }
  38.     }
  39. };
  40. MovieClip.prototype.fadeOut = function(speed){
  41.     this.onEnterFrame = function(){
  42.         if(this._name != _global.activ){
  43.             if(this._alpha>=50){
  44.                 this._alpha -= speed;
  45.             }
  46.             else{delete this.onEnterFrame;}
  47.         }
  48.     }
  49. };
  50. TextField.prototype.selectColor = function(){
  51.     if(this.text == _global.activ){
  52.         this.setTextFormat(_global.myFormat2);
  53.     }
  54.     else{this.setTextFormat(_global.myFormat1);
  55.     }
  56. };
  57. //////////////////////////////////////////////////////////////
  58. _global.activ;
  59. _global.myFormat1 = new TextFormat();
  60. _global.myFormat1.size = 14;
  61. _global.myFormat1.color = 0x000033;
  62. _global.myFormat2 = new TextFormat();
  63. _global.myFormat2.size = 14;
  64. _global.myFormat2.color = 0xff0000;
  65. _root.createEmptyMovieClip("menufeld",1);
  66. menufeld.machMirButton(8,0,0,20,100,0x000000,0x0000ff,0x666666,50,arrName);
__________________
hang loose
Majo ist offline   Mit Zitat antworten
Alt 15-05-2004, 16:33   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 14
hey cool leute! ihr seit mir echt ne freude!
damit kann ich das was ich brauche umsetzen! Vielen Dank auch!!!!
kingfisher 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 20:58 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele