Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-10-2005, 21:17   #1 (permalink)
Flasher
 
Benutzerbild von Scanis
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 601
For-schleifen werte übergeben?

HI Leute. ich versuche grad ein script zu verändern um es in mein spiel einzubauen. allerdings muss ich damit verschiedene hintergrund MCs ansprechen da sich mein level aus vielen verschiedenen extern geladenen swfs zusammensetzt.

Also land1, land2, land3...usw

diese müssen sich alle bewegen da mein goKart immer in der mitte des bildschirms bleibt und nur rotiert (der mc = link)

Nun weiss ich nicht so recht wie ich das in diesem script umsetzen kann?
wenn ich versuche in dem Script an den abfragestellen mit verschiedenen "for" schleifen zu arbeiten dann klappt es gar nicht mehr.

wenn ich ganz oben bei der ersten abfrage eingebe "land1" dann klappt es einwandfrei. aber halt nur für den landblock1. aber ich muss alle aktuell geladenen ansprechen...
Bei meinen anderen abfragen funktioniert das auch.


ActionScript:
  1. for (var i = 1; i<20; i++) {
  2.     kartfahren = [_root["land"+i]]; //hier statt +i , +1 eingeben und es funktioniert
  3.  
  4. }
  5.     aktkartfahrenNr = 0;
  6. aktkartfahren = this.kartfahren[aktkartfahrenNr];
  7. aktkartfahren.onEnterFrame = fkartfahrenInit;
  8. //
  9. function fkartfahrenInit() {
  10.     _root.link.richtung = this._rotation;
  11.     this.posx = this._x;
  12.     this.posy = this._y;
  13.     this.lenkspeed = 3;
  14.     this.speed = 0;
  15.     this.beschleunigung = .05;
  16.     this.wiederstand = .995;
  17.     this.onEnterFrame = fkartfahrenFahren;
  18. }
  19. function fkartfahrenMove(kartfahren, dx, dy) {
  20.     kartfahren.posx += dx;
  21.     kartfahren.posy += dy;
  22.     kartfahren._x = kartfahren.posx;
  23.     kartfahren._y = kartfahren.posy;
  24. }
  25. function fkartfahrenFahren() {
  26.     if (_root.kartaktiv == 1) {
  27.         if (Key.isDown(Key.UP)) {
  28.  
  29.             this.speed -= this.beschleunigung;
  30.         }
  31.         if (Key.isDown(Key.DOWN)) {
  32.             this.speed += this.beschleunigung;
  33.         }
  34.         if (Key.isDown(Key.LEFT)) {
  35.             this.richtung -= this.lenkspeed;
  36.         }
  37.         if (Key.isDown(Key.RIGHT)) {
  38.             this.richtung += this.lenkspeed;
  39.         }
  40.         this.speed *= this.wiederstand;
  41.         _root.link._rotation = this.richtung;
  42.         var w = this.richtung*Math.PI/180;
  43.         var dx = this.speed*Math.cos(w);
  44.         var dy = this.speed*Math.sin(w);
  45.         fkartfahrenMove(this, dx, dy);
  46.     }
  47. }

irgendwer ne idee?

thx
Scanis ist offline   Mit Zitat antworten
Alt 02-10-2005, 22:35   #2 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
äääh sorry,
wenn ich sowas sehe, dann denke ich immer ans 'Pferd von hinten aufzäumen'-Sprichwort...
...der Ansatz ist schon falsch ...vielleicht könnte man das sogar noch so hinkriegen (...wenn man die for-schleife, etwas überarbeitet, nach hinten verfrachten würde...)...allerdings nur auf Kosten der performance....
...besser ist in diesem Fall halt ein onEnterFrame für alle mc's, aber da bliebe wenig vom Originalcode übrig (eigentlich nix), das ist mir jetzt ehrlich gesagt zuviel Arbeit, wenn ich nicht schon ein paar Bierchen auf hätte...vielleicht, aber jetzt....

Gute Nacht

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 02-10-2005, 23:02   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
kartfahren = [_root["land"+i]]; //hier statt +i , +1 eingeben und es funktioniert
Versteh ich nicht so ganz... du überschreibst dir 19mal deine Variable kartfahren und zum Schluß bleibt _root.land19 über... Wozu??

Wenn du 19 verschiedene Pfadreferenzen speichern willst, solltest du aus kartfahren ein Array machen und dessen Schleifenindex in der for-Schleife mit hochzählen...

Geändert von agedoubleju (02-10-2005 um 23:05 Uhr)
  Mit Zitat antworten
Alt 02-10-2005, 23:09   #4 (permalink)
Flasher
 
Benutzerbild von Scanis
 
Registriert seit: Oct 2002
Ort: Berlin
Beiträge: 601
ahhh, das war der gedankenanstoss den ich gebraucht hab, danke :-)

werd ich gleich mal versuchen.

thx :-)
Scanis 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 04:18 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele