Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-08-2004, 15:00   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Beiträge: 5
Question Variable aus Instanzen summieren...

Servus!!!

Ich muss euch leider belästigen:::

Folgendes Problem:

Ich habe in der Bibliothek ein MovieClip "Position_MC"


Der MovieClip "Position_MC" besteht aus:
eingabe Textfeld "Preis", variable: vPreis;
eingabe Textfeld "Menge", variable: vMenge;
dynamischen Textfeld "Summe", variable: vSumme

ActionScript in "Position_MC"
Code:
function recalc ()
{
	vSumme = vPreis * vMenge;
}

Preis.onChanged = recalc;
Menge.onChanged = recalc;
Ich erstelle ein EmptyMovieClip "PosPanel"

Dieses Movie instanziere ich in "PosPanel" 10 mal in einer Schleife und stelle es versetzt dar:
Code:
for(var i = 1; i<=10; i++)
{
     var Name_P = "Pos" + i;
     PosPanel.attachMovie("Position_MC", Name_P, i+10);
     PosP[Name_P]._y =20 * i ;
}
Das Ergebniss sind 10 Instanzen von "Position_MC":
PosPanel.Pos1 bis PosPanel.Pos10

Also kann ich 10 Positionen berechnen (Preis * Menge = Summe)

in "PosPanel" brauche ich ein Textfeld, dynamisch, variable: sumAll
Dieses Feld soll automatisch alle Summen der Pos1 bis Pos10 addieren.


Mein Ansatz:
Ich verändere die recalc() in "Position_MC" so, dass ich von hier einen Wert an eine Variable in "PosPanel" nach oben übergebe.
aber wie erreiche ich das?

nochmal anders formuliert:
wie kann ich aus "MC_unter" welcher bestandteil von "MC_ober" ist auf eine funktion aus "MC_ober" zugreifen


puh... hoffentlich versteht jemand mein problem...
danke!

Geändert von q-be (24-08-2004 um 15:01 Uhr)
q-be ist offline   Mit Zitat antworten
Alt 24-08-2004, 15:05   #2 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
so:

this._parent.deinFunction_eine_Instanz_hoeher

vergiss nicht, dass die eingabefelder Strings liefern.. um damit rechenn zukönnen musst du sicher stellen, dass Zahlen eingegeben wurden und musst den String in eine Zahl umwandeln:

ActionScript:
  1. deinString1 = "21";
  2. deinString2 = "3";
  3.  
  4. deineStringSumme = deinString1+deinString2;
  5. //->ausgabe "213"
  6.  
  7. //richtig wäre (wenn gerechnet werden soll):
  8.  
  9. deineStringSumme = Number(deinString1)+Number(deinString2);
  10. //->ausgabe "24"
  11.  
  12. //oder
  13.  
  14. deineStringSumme = int(deinString1)+int(deinString2);
  15. //->ausgabe "24"
  16.  

grz
pape
pape ist offline   Mit Zitat antworten
Alt 24-08-2004, 15:36   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Beiträge: 5
habe es nicht ganz verstanden...

falls es was hilft, hier ein beispiel fla
Angehängte Dateien
Dateityp: zip beispiel.zip (4,3 KB, 2x aufgerufen)
q-be ist offline   Mit Zitat antworten
Alt 24-08-2004, 15:43   #4 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Zitat:
Zitat von q-be
habe es nicht ganz verstanden...
was hast du nicht verstanden?

das Forum ist nicht dazu gedacht Fla's zu uppen und sich sein Script von jemand anderem schreiben zu lassen!
(bzw. dafür gibt es nen extra board hier)
normaler weise bekommt man für sowas geld...

wenn du ein konkretes verständniss problem hast, dann formuliere das doch bitte!
dann werden mit sicherheit auch viele hier bereit sein dir zuhelfen!

grz
pape ist offline   Mit Zitat antworten
Alt 24-08-2004, 16:04   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2003
Beiträge: 5
das fla ist nur zur visualisierung meines problems gedacht.

ich möchte, dass wenn jedesmal die recalc() funktion aufgerufen wird, diese auch das textfeld in der höheren instanz aktualisiert, indem es nochmal alle werte aus allen summen feldern aufeinanderaddiert.

wie kann ich denn zb diese funktion (in "PosPanel") aus recalc aufrufen
Code:
funktion f()
{
   var temp = 0;
   for(var i = 1; i<=10; i++)
   {
     var Name_P = "Pos" + i;
     temp = temp + PosP[Name_P].vSumme;
   }
   return temp;
}
Mit _parent.this.f(); klappt es nicht.
q-be ist offline   Mit Zitat antworten
Alt 24-08-2004, 16:09   #6 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
Zitat:
Zitat von q-be
Mit _parent.this.f(); klappt es nicht.
deswegen ja auch this._parent.f();
pape 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 08:24 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele