Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-09-2004, 19:51   #1 (permalink)
hobby flasher
 
Registriert seit: Jun 2004
Beiträge: 18
mc "langsam" zu position x,y bewegen

hi leute!

sagen wir, ich habe ein mc, auf position 500,300. jetzt will ich dieses mc auf 100,100 bringen. aber nicht auf einmal, sondern ich will es mit as auf die stelle zubewegen lassen (1 pixel pro frame oder so) und sobald es dort ist, soll es natürlich stoppen.

ich will nun 3 von diesen mcs dynamisch auf der bühne platzieren und jedes auf eine andere position gehen lassen.

ich möchte dazu eine methode geheZu(x,y) im movieclip definiern...
aber wie kriege ich es jetzt hin, dass sobald diese funktion aufgerufen wird, sich das objekt langsam dorthin bewegt? irgendwie mit enterframe, nehme ich an...

ich blicke da nicht durch... wie kann ich das am besten realisieren?
RedLeader ist offline   Mit Zitat antworten
Alt 20-09-2004, 20:16   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Mit sowas geht des, falls ich Dich richtig verstanden hab!!

ActionScript:
  1. MovieClip.prototype.moveto = function(x, y, speed) {
  2.     this.onEnterFrame = function() {
  3.         this._x += (x-this._x)/speed;
  4.         this._y += (y-this._y)/speed;
  5.         if ((Math.ceil(this._x) == x) && (Math.ceil(this._y) == y)) {
  6.             delete this.onEnterFrame;
  7.         }
  8.     };
  9. };
  10. mc.moveto(500, 400, 5);
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 20-09-2004, 20:18   #3 (permalink)
hobby flasher
 
Registriert seit: Jun 2004
Beiträge: 18
wow, perfekt!

danke!

eine frage noch:

kann man in einer funktion einfach so ein onEnterFrame einbaun? ich seh schon, ich muss mir mal ein gutes as buch besorgen!

Geändert von RedLeader (20-09-2004 um 20:21 Uhr)
RedLeader ist offline   Mit Zitat antworten
Alt 20-09-2004, 21:09   #4 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
in einer Funktion?

das onEnterFrame gehört this (this.onEnterFrame = ...), this bezieht sich auf den MovieClip, dessen Methode moveTo du gerade aufrufst.

Sprich der onEnterFrame Eigenschaft vom MovieClip wird die Funktion this._x += ... zugewiesen.
Janoscharlipp ist offline   Mit Zitat antworten
Alt 20-09-2004, 23:53   #5 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
@ Janoscharlipp
Ein Buch kaufen ist ne gute Entscheidung
Colin Moock's Buch über MX wäre nicht schlecht

Hi Janosch
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 13-09-2006, 19:06   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Beiträge: 42
Hi,

ich habe dieses geniale Skript auch eingebaut, habe aber folgendes Problem:

Zusätzlich habe ich noch ein onMouseMove-Event rumfliegen, mit dem man den mc ebenfalls verschieben kann. (Falls mouse in "Randzone" kommt (x>1000,...), mc--)

Der onkeyDown funktioniert. Der onMouseMove (isoliert) auch.
Nur wenn ich nach einem OnKeyDown die Maus bewege, fährt der mc automatisch wieder zur Position zurück, die er beim OnKeyDown erhalten hatte...

Wo ist da das Problem? Wieso will er immer zu den alten Werten zurück? Muss ich da einen Event abknipsen oder so was in der Art?

Grüße
P1


----


Kommando zurück, konnte es lösen, musste nur den EnterFrame deleten, sobald eine Mausbewegung kommt...

Geändert von Praktikant_1 (13-09-2006 um 19:11 Uhr)
Praktikant_1 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:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele