Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-08-2005, 18:10   #1 (permalink)
trace('kolja');
 
Benutzerbild von koljap
 
Registriert seit: Mar 2004
Ort: EU->DE->NRW
Beiträge: 145
Question MCs runter hinter einander / geht bei mir zu schnell

Hallo ForumHelfer,
habe folgenden AS geschrieben. Das läuft wunderbar, aber ich sehen den effekt nicht.
/Effekt: "b1"-"b3" sollen nach einander sich runter bewegen.
Wenn ich FlashPlayer starte ist das sofort fertig. Ich möchte das man die MC sehen kann wie die sich bewegen.
ActionScript:
  1. btotal=4;
  2.     for (b=1;b<btotal;b++){
  3.         trace(b);
  4.         bziel=random(15)+25;
  5.         //trace(bziel);
  6.         for (by=_root["b"+b]._y;by<bziel;by=_root["b"+b]._y){
  7.             _root["b"+b]._y=_root["b"+b]._y+0.1;
  8.             trace(_root["b"+b]._y);
  9.         }
  10.     }

MFG Kolja
koljap ist offline   Mit Zitat antworten
Alt 23-08-2005, 18:40   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
du musst dein 1. for mittels einem onEnterFrame ausführen.

also nur den ersten schritt deiner animation berechnen ..
jetzt kommt flash drann und stellt das da...
jetzt den nächsten schritt berechnen..
flash stellt das da...
usw.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 23-08-2005, 18:44   #3 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
hello,
dazu am besten onEnterFrame benutzen:
ActionScript:
  1. btotal = 4;
  2. for (var i=1; i<btotal; i++) {
  3.     _root["b"+i].bziel = random(15)+25;
  4.     _root["b"+i].onEnterFrame = function () {
  5.         this._y += 1;
  6.         if (this._y >= this.bziel) {
  7.             trace(this._y);
  8.             delete this.onEnterFrame;
  9.         }
  10.     }
  11. }
gruß janosch

p.s.
ich habe aus _root["b"+b]._y=_root["b"+b]._y+0.1; erst einmal _root["b"+b]._y += 0.1 gemacht (ist das gleiche), dann aber +=1 daraus gemacht, denn es gibt keine 0.1 pixel. allerdings kannst du das für geschwindigkeits kontrolle so machen....
janoshnosh ist offline   Mit Zitat antworten
Alt 23-08-2005, 19:35   #4 (permalink)
trace('kolja');
 
Benutzerbild von koljap
 
Registriert seit: Mar 2004
Ort: EU->DE->NRW
Beiträge: 145
dafor habe ich "onClipEvent (enterFrame) {" und danach "}"
liegt es dadran wo es liegt (im root oder im MC)?
koljap ist offline   Mit Zitat antworten
Alt 23-08-2005, 20:11   #5 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
werwowiewas??
also so, wie ich den code geändert habe, kommt er in entweder in ein onClipEvent(load) {....} (nicht zu empfehlen), oder einfach in den ersten frame direkt in die zeitleiste. da gehören codes hin.
zur erklärung: diesen code, auch deine variante mit den zwei for-schleifen, willst du doch nur einmal ausführen. wenn du ihn in einem enterFrame-OCE stehen hast, werden die schleifen aber bei jedem frame-aufruf erneut durchlaufen, was nicht in deinem sinne sein dürfte.

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 23-08-2005, 20:20   #6 (permalink)
trace('kolja');
 
Benutzerbild von koljap
 
Registriert seit: Mar 2004
Ort: EU->DE->NRW
Beiträge: 145
Thumbs up

@janoshnosh
Habe jetzt dein AS versucht und es sieht sehr gut aus. Muss noch etwas anpassen, weil die alle 3 gleich zeitig weiter gehen. Aber sonst alles GUT.
Aber weiss nicht warum es bei mir mit meinem AS nicht so langsam ging.
Danke
koljap 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 22:38 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele