Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-10-2004, 15:54   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 7
Pointer/Referenzen in AS?

Hallo Ihr da draussen...

ich möchte einen Wert der in einem Array gespeichert ist in einem dynamisch erzeugten Eingabe-Textfeld darstellen und verändern können. So in der Art:

Code:
// im root
textArray = new Array();
textArray[1] = "hallo";  // Array wird dyn. gefüllt

// im MC
this.createTextField("tf", 1, 0, 0, 100, 16); // TFs werden dyn. erstellt
tf.type = "input";
tf.variable = "_parent.textArray[1]"; // braucht laut FlashHilfe einen String
--> funktioniert nicht, da ihm anscheinend der "[1]"-Teil nicht passt.

Nun habe ich das Problem folgendermassen zu lösen versucht:

Code:
// im MC
var pointerToArray = _parent.textArray[1];
tf.variable = "pointerToArray"; // braucht laut FlashHilfe einen String
Nur habe ich nicht herausgefunden wie/ob man in Flash AS einen Pointer / eine Referenz auf eine Variable (resp. ein Elemt in einem Array) definieren kann.

Kann mir jemand helfen?

Gruss Dave
mezza ist offline   Mit Zitat antworten
Alt 06-10-2004, 17:53   #2 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
try this:
ActionScript:
  1. tf.text = _parent.textArray[1];

or this:
ActionScript:
  1. tf.variable = "xyz";
weist du deinem textfeld einen bezeichner zu,
ActionScript:
  1. xyz=_parent.textArray[1];

füllt ihn dann, und das mit dem string ist schon war aber
_parent.textArray[1];
ist ja die referenz auf den string der in deinem array steht.

Geändert von mooseMash (06-10-2004 um 18:01 Uhr)
mooseMash ist offline   Mit Zitat antworten
Alt 06-10-2004, 18:10   #3 (permalink)
Neuer User
 
Benutzerbild von reion
 
Registriert seit: Apr 2004
Ort: St. Florian
Beiträge: 459
Zitat:
Zitat von mezza
ActionScript:
  1. // im root
  2. textArray = new Array();
  3. textArray[1] = "hallo"// Array wird dyn. gefüllt
  4.  
  5. // im MC
  6. this.createTextField("tf", 1, 0, 0, 100, 16); // TFs werden dyn. erstellt
  7. tf.type = "input";
  8. tf.variable = "_parent.textArray[1]"; // braucht laut FlashHilfe einen String
  9.  

--> funktioniert nicht, da ihm anscheinend der "[1]"-Teil nicht passt.
keine anführungs zeichen... ist ja kein string sondern ne VARIABLE (oder in dem fall ein array) mit dem wert STRING ...
__________________
www.reion.tk
---
*nastyBasty, *nonverbla, *miii, *specs2, *kikuchiro, *Tom(2), *Tarantoga, *Prist0r, *heidlbeer, *silentx, *socratez, *isildur, *mmgraphics, *tackle_zone, *raschu, *-+FleshMen 08+-, *guz3l, *Flashyrobin, *teddy86+, *Jasper99, *Don Krawallo, *pLan58+, Sly-Design+, *obscur+, *mxpro-filer+; P |SL, e621, destroy90210, Karsten572, simon ventura, tasovi, salami04, Mulitreiber, dat brot, boyi, rosco, gaspode, dirkgently, Sash^noob; / *X-Production, mika97, derBauer1234, strolchi04 \
reion ist offline   Mit Zitat antworten
Alt 06-10-2004, 19:10   #4 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Hi.

Was willst Du machen?

a) Über das input Textfeld, den Text in das Array eintragen?

b) Den Text aus dem Array in das Textfeld einfügen?

Ich vermute mal a. Mich irritieren die Antworten etwas.

Wenn Du den Text ins Array eintragen willst, brauchst Du ein Ereignis,
das den Text jedesmal ins Array einfügt. Einen Button oder das onChange
vom Textfeld.

Um den Text ins Array zu quetschen ohne jetzt das input zu beachten,
geht so:

ActionScript:
  1. meinA = [];
  2. _root.createTextField("meinT_txt", 1, 100, 100, 100, 0);
  3. with (_root.meinT_txt) {
  4.  autoSize = true;
  5.  type = "input";
  6.  border = true;
  7.  text = "geht doch";
  8. }
  9. meinA.push(_root.meinT_txt.text);
  10. trace(meinA[0]);
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 07-10-2004, 06:50   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2004
Beiträge: 7
Unhappy

Also, das ist nicht ganz was ich erwartet hatte, aber danke trotzdem.

@mooseMash:
Bei beiden von Deinen Vorschlägen wird die Variable _parent.textArray[1] nicht aktualisiert wenn ich den Inhalt im Textfeld ändere.

@reion:
Laut der Hilfe von Flash muss da ein String rein. Stimmt auch - hab's probiert. Die Eigenschaft textfeld.variable erwartet so gesehen schon eine Art "Pointer" auf die Variable, nämlich in Textform. Das Problem it nur dass ich damit z.B. das ganze Array ansprechen könnte, aber nicht ein Element daraus.
So in etwa:
Code:
textfeld.variable = "_parent.textArray";   // funzt, zeigt aber logischerweise das ganze Array an
textfeld.variable = "_parent.textArray[1]";   // funzt nicht!!! weil einzelnes Elemet aus Array
@thebiz:
Danke, die einzige brauchbare Antwort .
Ich will das Textfeld aktualisieren wenn eine Änderung auf das Array geschieht und auch das Array wenn das Textfeld verändert wird. Darum wollte ich ja auch über textfeld.variable arbeiten und nicht mit textfeld.text. Also a und b... hab auch schon daran gedacht über Events zu arbeiten, aber gehofft dass es doch noch mit Pointern geht. Sieht so aus als müsste ich Deine Variante einsetzen.
Danke nochmal...
mezza ist offline   Mit Zitat antworten
Alt 07-10-2004, 22:47   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Klar doch
Gerne geschehen!

Gruß
John
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 08-10-2004, 07:02   #7 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
moin mezza,

"@mooseMash:
Bei beiden von Deinen Vorschlägen wird die Variable _parent.textArray[1] nicht aktualisiert wenn ich den Inhalt im Textfeld ändere."

das wundert mich keinesfalls, die aktualisierung des array-eintrages steht da ja auch nicht drin, das würd ich so realisieren:
ActionScript:
  1. tx.onChanged = function()
  2.       _parent.textArray[1] = this.text;
  3. }
mooseMash 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 02:07 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele