Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-07-2005, 15:18   #1 (permalink)
Neuer User
 
Benutzerbild von maxbahr01
 
Registriert seit: Mar 2005
Beiträge: 59
MC abbremsen?!

Hallo hab ´n kleines Problem und zwar möchte ich meine MC von A nach B bewegen wobei er zum Schluss hin abbremsen soll und abrubt stoppen.
Hatte auch schon mal jemanden von euch gefragt der mich auf ne andere Flashsite verwiesen hatte wo einige Scripte waren, leider konnte ich mit denen nich so recht wat anfangen. Das Script für die Bewegung des MC ist angefügt. Schauts euch mal an.
Wäre für jede Hilfe dankbar.
ActionScript:
  1. onClipEvent(load) {
  2.     this._x = -320;
  3.     this._y = 200;
  4. }
  5. onClipEvent(enterFrame) {
  6.     if (this._x<220) {
  7.         this._x +=20;
  8.     }
  9.     if (this._y<340) {
  10.         this._y +=20;
  11.     }
  12. }
maxbahr01 ist offline   Mit Zitat antworten
Alt 13-07-2005, 15:23   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
ActionScript:
  1. onClipEvent(load) {
  2.         this._x = -320;
  3.         this._y = 200;
  4. }
  5. onClipEvent(enterFrame) {
  6.         if (this._x<220) {
  7.                 this._x +=(220-this._x)/5;
  8.         }
  9.         if (this._y<340) {
  10.                 this._y +=(340-this._y)/5;
  11.         }
  12. }

Ich würde das allerdings vom Clip runternehmen, da man sonst das (enterFrame) nicht löschen kann. Das verbraucht dann unnütz Rechenleistung.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 13-07-2005, 15:37   #3 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
ma kann "onEnterFrame" nich löschen, wenn es auf dem clip liegt?
__________________
Friede!
Cysign ist offline   Mit Zitat antworten
Alt 13-07-2005, 15:55   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Nein.
ActionScript:
  1. onClipEvent(enterFrame) {
  2.      delete this.onEnterFrame
  3.      trace("läuft")
  4. }
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 13-07-2005, 16:04   #5 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
cool, dankö. das erklärt mir, warum ich gestern die ganze zeit am verzweifeln war, bis ich es anderst gelöst hatte

hatte irgendwo mal was davon gelesen, dass man onEnterFrames killen kann...dann ein bisschen gegoogelt und das dann versucht zu bauen, lief aber die ganze zeit weiter.
__________________
Friede!
Cysign ist offline   Mit Zitat antworten
Alt 14-07-2005, 09:42   #6 (permalink)
Neuer User
 
Benutzerbild von maxbahr01
 
Registriert seit: Mar 2005
Beiträge: 59
Zitat:
Zitat von Der Frager

Ich würde das allerdings vom Clip runternehmen, da man sonst das (enterFrame) nicht löschen kann. Das verbraucht dann unnütz Rechenleistung.
Ist es denn ratsam das Script vom MC runter zu nehmen? Und wenn ja wie muss ich dann den Instanznamen im Script angeben. Du meinstest doch damit dass ich das Script in die Hauptzeitleiste verlege, oder?
maxbahr01 ist offline   Mit Zitat antworten
Alt 14-07-2005, 13:21   #7 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Jau. Das hier in die Hauptzeitleiste:
ActionScript:
  1. this.deinMC._x = -320;
  2. this.deinMC._y = 200;
  3. this.deinMC.onEnterFrame = function() {
  4.     if (Math.round(this._x)<220 && Math.round(this._y)<340) {
  5.         this._x += (220-this._x)/5;
  6.         this._y += (340-this._y)/5;
  7.     } else {
  8.         delete this.onEnterFrame;
  9.         this._x=220, this._y=340;
  10.         trace("onEnterFrame deleted!");
  11.     }
  12. };
...und dem MC einen Instanznamen geben (im Beispiel deinMC). Das war's dann.

Und hier nochmal ein ähnliches Teil als Prototype:
ActionScript:
  1. MovieClip.prototype.flyin = function(startX, startY, zielX, zielY, speed) {
  2.         this._x = startX;
  3.         this._y = startY;
  4.         this.onEnterFrame = function() {
  5.                 if (Math.round(this._x) != zielX && Math.round(this._y) != zielY) {
  6.                         this._x += (zielX-this._x)/speed;
  7.                         this._y += (zielY-this._y)/speed;
  8.                 } else {
  9.                         delete this.onEnterFrame;
  10.                         this._x = zielX;
  11.                         this._y = zielY;
  12.                 }
  13.         };
  14. };
  15. deinMC.flyin(0, 0, 500, 400, 10);
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager 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 20:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele