Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-10-2003, 17:16   #1 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
funktion mit variable in attachmovie

einem objekt per attachmovie eine funktion über das initobject zu geben funktioniert. wenn ich der funktion allerding variablen werte gebe geht es nicht mehr. warum?
und wie bekomme ich das gelöst?

das geht:

attachMovie("movieclip", "movieclip"+i, i, einefunktion );

das geht nicht:

attachMovie("movieclip", "movieclip"+i, i, einefunktion(-1, 600));
rib ist offline   Mit Zitat antworten
Alt 06-10-2003, 17:27   #2 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
dann wärs ja kein init mehr *gg*
so weit ich weiss lassne dich auch nur fix werte übertragen, lasse mich aber gerne besserem belehren
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 06-10-2003, 18:21   #3 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
sch*

ich hab jetzt folgendes prob.

ich attache mehrere duplikate eines mc aus der libary.
jedem dieser mc soll anfangs die variable x übergeben werden.
diese wird ausserhalb durch ein skript verändert sodas jeder der mv eine andere mitbekommt.
ausserdem soll jeder mc das gleiche solang mit dieser erhaltenen variable machen bis er wieder gelöscht wird.
wie mache ich das?
rib ist offline   Mit Zitat antworten
Alt 31-10-2003, 20:50   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 28
ähm, ich versteh zwar nicht ganz was genau du willst, aber hier mal n Denkanstoß

führ die Funktion doch vorher aus, daß du die nötigen Werte korekt in einer Variable hast, dann kannst du diese Variable in dem attach benutzen.

Klingt logisch oder?

Hoffe damit etwas geholfen zu haben, ansonsten nochmal nachhacken

MfG drflash
drflash ist offline   Mit Zitat antworten
Alt 31-10-2003, 22:35   #5 (permalink)
*warg*
 
Registriert seit: May 2002
Ort: Berlin
Beiträge: 261
hmm .. codeschnipsel wären hilfreich.

ich versuch mal erstmal dein script nachzu bauen
ActionScript:
  1. for(var i=0;i<6;i++) {
  2.  _root.attachMovieClip("mc","mc"+i,10+i)
  3. with (_root["mc"+i]) {
  4.           this.id=i
  5.           //hier können weitere anweisungen stehen wie
  6.             _x = 20
  7.              _y = 50 + 25*i
  8. }
  9. }
möglich wäre sicherlich auch sowas:
ActionScript:
  1. for (var i = 0; i<mein_array.length; i++) {
  2.                         _root.attachMovie("mc", "mc"+i, i+1);
  3.                         _root["mc"+i].setpos(0,40+25*i);
  4.                         _root["mc"+i].id = i;
das "mein_array.legth" kannst du natürlich durch ne zahl ersetzten. ( ich hab bei mir mit array gearbeitet ( dank an alle leute die mir geholfen haben ! ) )

und hiermit überspringst du das "with" (welches sich manchmal als problematisch aufweist.
setpos wurde in _root deklariert als
ActionScript:
  1. mc.prototype.setpos = function(x, y) {
  2.     this._x = x;
  3.     this._y = y;
  4. }
  5. //
  6. Object.registerClass("mc", mc);


"diese wird ausserhalb durch ein skript verändert sodas jeder der mv eine andere mitbekommt." mir ist nicht ganz klar, ob die nun verschiedenen variablen nochmals verändert werden sollen.

du könntest ja noch sowas wie
ActionScript:
  1. _root["mc"+i].id2 =  _root["mc"+i].id*20
(macht aber in meinen augen gar keinen sinn .... )

"ausserdem soll jeder mc das gleiche solang mit dieser erhaltenen variable machen bis er wieder gelöscht wird."
wie meinst du das genau?
ich interpretiere es einfach mal so wie ich es verstehe
ActionScript:
  1. switch (_root["mc"+i].id) {
  2.     case 1:   
  3.         _root["mc"+i].onEnterFrame = function() {
  4.                                         _root.was_auch_immer-du_willst.
  5.                                  }
  6.                      break;
  7.     case 2:
  8.                                 _root["mc"+i].onEnterFrame = function()     {
  9.                                         _root.was_auch_immer-du_willst.
  10.                                  //anmerkung: schleifen?}
  11.  
  12.                                  break;
  13.     case 3:
  14.         _root.blabla
  15.  
  16. }
  17.  
  18. //überlege grad .. ginge doch auch anders :
  19. _root["mc"+i].onEnterFrame = function() {
  20. switch (_root["mc"+i].id) {
  21.     case 1:   
  22.                                         _root.was_auch_immer-du_willst.
  23.                                         break;
  24.     case 2:
  25.                                 _root.was_auch_immer-du_willst.
  26.                                  //anmerkung: schleifen?}
  27.  
  28.                                  break;
  29.     case 3:
  30.         _root.blabla
  31.  
  32. }
  33. updateAfterEvent;
  34. }
  35. //das zweite scheint mir logischer
  36.  
oder meinstest du etwas schlichteres wie :
ActionScript:
  1. _root["mc"+i].onEnterFrame = function() {
  2. this.id2 = this.id*20/1,5 + 1500-13*13
  3. //oder eher sowas wie ..
  4. this.id = this.id +20/1,5 +1500-13*13
  5. //ich denke, du meintest eher das zweite , oder ?
  6. }
  7. updateAfterEvent;
sofern ein movieclip "unLoad"ed oder "remove"ed wird, entfällt doch die "onEnterFrame" function.
Bin mir allerdings nicht ganz sicher, ob du sowas hier wolltest, und ob es überhaupt auch so funktioniert!
die AS sind alle syntaktisch nicht geprüft, möglicherweise musst du tippfehler richtigstellen

Gruß Tuffy
__________________
"nimm dir das leben - es gehört dir!"
"die realität versucht mich einzuholen - doch ich bin schneller !"

Geändert von Tuffyfant (31-10-2003 um 22:40 Uhr)
Tuffyfant ist offline   Mit Zitat antworten
Alt 01-11-2003, 18:22   #6 (permalink)
rib
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 215
ich glaub du hast da was falsch verstanden.
es ging mir darum:
ActionScript:
  1. attachMovie("bla", "bla"+blanumber, blanumber, einefunktion);
..funktioniert.
ActionScript:
  1. attachMovie("bla", "bla"+blanumber, blanumber, einefunktion(einevariable));
..funktioniert nicht.

normalerweise ist es aber möglich einer funktion variablen zu übermitteln, im attachMovie nicht.

Geändert von rib (01-11-2003 um 18:23 Uhr)
rib 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 13:45 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele