Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-08-2005, 11:02   #1 (permalink)
flashed
 
Benutzerbild von snard
 
Registriert seit: Aug 2004
Ort: Karlsruhe
Beiträge: 89
TextField prototype: type = "input";

Hi, bin grad dabei einen Prototypen für Textfelder zu machen. Klappt auch soweit nur den den typ will er nicht.
Hab das mit: this.type = "input"; probiert. Da kann man den Text nicht ändern.
Wenn ich aber ein Objekt mach und dem dann die Eigenschaft gebe geht's:
x.type = "input";

Woran könnt das liegen? Oder geht das gar nicht?
snard ist offline   Mit Zitat antworten
Alt 18-08-2005, 11:03   #2 (permalink)
lounger one
 
Benutzerbild von linkage
 
Registriert seit: Jul 2002
Ort: Kassel
Beiträge: 556
wie wärs mit ein bisschen code?
__________________
your friendly Neighbour

Linkage

m.link@gmx.de
linkage ist offline   Mit Zitat antworten
Alt 18-08-2005, 11:04   #3 (permalink)
flashed
 
Benutzerbild von snard
 
Registriert seit: Aug 2004
Ort: Karlsruhe
Beiträge: 89
Zitat:
Zitat von linkage
wie wärs mit ein bisschen code?
ActionScript:
  1. _root.createEmptyMovieClip("McFormularContainer", _root.getNextHighestDepth());
  2.  
  3. //Formular config
  4. McFormularContainer._x = 250;
  5. McFormularContainer._y = 45;
  6. var Border = true;
  7. var BorderColor = 0xFFFFFF;
  8. var Background = true;
  9. var BackgroundColor = 0xBFBBB3;
  10. var ZeilenBreite = 300;
  11. var ZeilenHoehe = 22;
  12. var ButtonBreite = 110;
  13. var ButtonFarbe = 0xD30101;
  14. var ButtonAlpha = 50;
  15.  
  16. //-Formular Code
  17. //Input Textfeld Prototype
  18. i = TextField;
  19. _global.TextField = function(){
  20.     super();
  21.    //Textformat
  22.     var FormularFormat = new TextFormat();
  23.     with(FormularFormat) {
  24.         font = "Monotype_Corsiva";
  25.         color = 0x0000000;
  26.         size = 17
  27.     }
  28.     [COLOR=Red]this.type = "input";[/COLOR]
  29.     this.border = Border;
  30.     this.borderColor = BorderColor;
  31.     this.background = Background;
  32.     this.backgroundColor = BackgroundColor;
  33.     this.multiline = false;
  34.     this.wordWrap = false;
  35.     //this.embedFonts = true;
  36.     this.setTextFormat(FormularFormat);
  37.     this.setNewTextFormat(FormularFormat);
  38. }
  39. TextField.prototype = new i(); delete i;
  40.  
  41. McFormularContainer.createTextField("Name", McFormularContainer.getNextHighestDepth(), 0, 0, ZeilenBreite, ZeilenHoehe);
  42. [COLOR=Red]//McFormularContainer.Name.type = "input";[/COLOR]//wenn ich die auskommentier geht's; will ich aber weglassen
  43. McFormularContainer.Name.text = "test";
code snippet

Geändert von snard (18-08-2005 um 11:16 Uhr)
snard ist offline   Mit Zitat antworten
Alt 18-08-2005, 11:32   #4 (permalink)
lounger one
 
Benutzerbild von linkage
 
Registriert seit: Jul 2002
Ort: Kassel
Beiträge: 556
komisch ... der Debugger sagt es sei vom Typ "input". und die Variablen Auflistung sagt es sei "dynamic" ... muss leider passen!
__________________
your friendly Neighbour

Linkage

m.link@gmx.de
linkage ist offline   Mit Zitat antworten
Alt 18-08-2005, 20:52   #5 (permalink)
Nordlicht
 
Benutzerbild von astaroth
 
Registriert seit: Jun 2001
Ort: Hamburg
Beiträge: 569
Hmmm....

Hab momentan kein Flash zur Hand, werde also morgen näher darauf eingehen können, aber mich stören einfach zu viele Sachen an dem Script.

Warum verwendest Du super () ?
und dann das mit _global, ich bin da kein wirklicher Freund von.
Naja, nevermind, wie gesagt, morgen kann ich mehr sagen.

Gruß....

....Patrick
__________________
"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen."
Wachsamkeit ist der Preis der Freiheit - Keine Zensur!

– Wau Holland –

http://www.wauland.de
astaroth ist offline   Mit Zitat antworten
Alt 19-08-2005, 12:57   #6 (permalink)
Nordlicht
 
Benutzerbild von astaroth
 
Registriert seit: Jun 2001
Ort: Hamburg
Beiträge: 569
Sorry, hat ein wenig gedauert.

ActionScript:
  1. //Formular config
  2. McFormularContainer._x = 250;
  3. McFormularContainer._y = 45;
  4. var Border = true;
  5. var BorderColor = 0xFFFFFF;
  6. var Background = true;
  7. var BackgroundColor = 0xBFBBB3;
  8. var ZeilenBreite = 300;
  9. var ZeilenHoehe = 22;
  10. var ButtonBreite = 110;
  11. var ButtonFarbe = 0xD30101;
  12. var ButtonAlpha = 50;
  13.  
  14. MovieClip.prototype.makeField = function (name,xpos,ypos,txt){
  15.     this.createTextField(name,_root.getNextHighestDepth(),xpos, ypos, ZeilenBreite, ZeilenHoehe);
  16.     this[name].border = _root.Border;
  17.     this[name].borderColor_root.BorderColor;
  18.     this[name].background_root.Background;
  19.     this[name].backgroundColor_root.BackgroundColor;
  20.     this[name].multiline = false;
  21.     this[name].wordWrap = false;
  22.     this[name].type = "input";
  23.     this[name].text = txt;
  24.     //this[name].embedFonts = true;
  25.     this[name].setTextFormat(FormularFormat);
  26.     this[name].setNewTextFormat(FormularFormat);
  27. }
  28. _root.createEmptyMovieClip("McFormularContainer", _root.getNextHighestDepth());
  29. McFormularContainer.makeField("Name",0,0,"text");
__________________
"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen."
Wachsamkeit ist der Preis der Freiheit - Keine Zensur!

– Wau Holland –

http://www.wauland.de
astaroth ist offline   Mit Zitat antworten
Alt 19-08-2005, 13:20   #7 (permalink)
Nordlicht
 
Benutzerbild von astaroth
 
Registriert seit: Jun 2001
Ort: Hamburg
Beiträge: 569
und hier noch eine verbesserte Version von oben :

ActionScript:
  1. //Formular config
  2. McFormularContainer._x = 250;
  3. McFormularContainer._y = 45;
  4. var Border = true;
  5. var BorderColor = 0xFFFFFF;
  6. var Background = true;
  7. var BackgroundColor = 0xBFBBB3;
  8. var ZeilenBreite = 300;
  9. var ZeilenHoehe = 22;
  10. var ButtonBreite = 110;
  11. var ButtonFarbe = 0xD30101;
  12. var ButtonAlpha = 50;
  13. TextField.prototype.Focus = function (arg1){
  14.     this.onSetFocus = function (){
  15.         Key.addListener(this);
  16.         this.backgroundColor = 0xff8888;
  17.         this.text == arg1 ? this.text="" : 0;
  18.         //this.embedFonts = true;
  19.         this.setNewTextFormat(FormularFormat);
  20.         this.setTextFormat(FormularFormat);
  21.     }
  22.     this.onKillFocus = function (){
  23.         Key.removeListener(this);
  24.         this.backgroundColor = _root.BackgroundColor;         
  25.         this.text=="" ? this.text=arg1 : 0;
  26.         //this.embedFonts = true;
  27.         this.setNewTextFormat(FormularFormat);
  28.         this.setTextFormat(FormularFormat);
  29.     }
  30. }
  31. MovieClip.prototype.makeField = function (name,xpos,ypos,txt,tiefe){
  32.     this.createTextField(name,tiefe,xpos, ypos, ZeilenBreite, ZeilenHoehe);
  33.     this[name].border = _root.Border;
  34.     this[name].borderColor_root.BorderColor;
  35.     this[name].background_root.Background;
  36.     this[name].backgroundColor_root.BackgroundColor;
  37.     this[name].multiline = false;
  38.     this[name].wordWrap = false;
  39.     this[name].type = "input";
  40.     this[name].Focus(txt);
  41.     this[name].text = txt;
  42.     //this[name].embedFonts = true;
  43.     this[name].setTextFormat(FormularFormat);
  44.     this[name].setNewTextFormat(FormularFormat);
  45. }
  46. _root.createEmptyMovieClip("McFormularContainer", _root.getNextHighestDepth());
  47. McFormularContainer.makeField("Name",0,0,"text",1);
  48. McFormularContainer.makeField("Strasse",0,22,"Strasse",2);
  49. McFormularContainer.makeField("Ort",0,44,"PLZ+Wohnort",3);
__________________
"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen."
Wachsamkeit ist der Preis der Freiheit - Keine Zensur!

– Wau Holland –

http://www.wauland.de
astaroth ist offline   Mit Zitat antworten
Alt 19-08-2005, 13:24   #8 (permalink)
lounger one
 
Benutzerbild von linkage
 
Registriert seit: Jul 2002
Ort: Kassel
Beiträge: 556
sehr schön gelöst!!!!
__________________
your friendly Neighbour

Linkage

m.link@gmx.de
linkage ist offline   Mit Zitat antworten
Alt 19-08-2005, 13:29   #9 (permalink)
Nordlicht
 
Benutzerbild von astaroth
 
Registriert seit: Jun 2001
Ort: Hamburg
Beiträge: 569
Ist nur die Frage, ob Snard das gebrauchen kann.
Aber ich bin nunmal kein Freund von diesen _global - Sachen.
Und Superclassen vermeide ich, wo es nur geht, denn meisstens geht es einfacher.

Naja, viel Spass damit !


....Patrick
__________________
"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen."
Wachsamkeit ist der Preis der Freiheit - Keine Zensur!

– Wau Holland –

http://www.wauland.de
astaroth ist offline   Mit Zitat antworten
Alt 19-08-2005, 17:10   #10 (permalink)
flashed
 
Benutzerbild von snard
 
Registriert seit: Aug 2004
Ort: Karlsruhe
Beiträge: 89
Hey, danke für die Verbesserungen. Werde nachher gleich mal probieren. Das script hatte ich irgenwoher übernommen und bischen verändert. globale variablen,... sind ja verpönt und mag auch nicht. was super() ist wusst noch nicht. Kann aber in dem Fall natürlich raus. Thx


Hey, fast die gleichen Funktionen hatte ich bei mir auch mit eingebaut. Nur nicht so elegant gelöst. Hab 's angepasst und geht echt super. Danke

Geändert von snard (20-08-2005 um 11:53 Uhr)
snard 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 10:28 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele