Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-10-2006, 17:10   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 44
Mausverfolger Slide

Hallo zusammen,

ich programiere einen Mausverfolger und definiere dafür einen Bewegungsmittelpunkt. Alles funktioniert.

Nun möchte ich diesen Film mithilfe einer Loader Komponente in einen anderen Film laden - was sonst immer klappt.

Hier wird er zwar geladen, aber der Mausverfolger reagiert überhaupt nicht.

Das Mausverfolgerscript arbeitet auch nicht, wenn ich es samt Movieclip in den Hauptfilm lade...

Woran kann das liegen?

Viele Grüße,


Matthias
jumapari ist offline   Mit Zitat antworten
Alt 09-10-2006, 22:28   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
"_root" verwendet?
  Mit Zitat antworten
Alt 10-10-2006, 10:35   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 44
Ja, genau, ich habe "_root" verwendet.

Ich würde auch das Script hier reinstellen, befinde mich aber an einem anderen Rechner...

Wenn das Script samt Movieclip mit Flash 6 (statt 8) in den Hauptfilm kopiere (statt Loader), läuft es übrigends. Nur mit dem Effekt, dass der MovieClip auf jede Bewegung innerhalb der gesamten Bühne reagiert, was natürlich nicht gewünscht ist.

Kann ich statt _root etwas anderes verwenden?!

Viele Grüße,

Matthias
jumapari ist offline   Mit Zitat antworten
Alt 10-10-2006, 15:22   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Hab ich hier schon diverse Male erklärt, bitte nutz in Zukunft die Suchfunktion...

Ein "_root" zeigt grundsätzlich erst einmal auf die Hauptzeitleiste. Wenn ein Film also in einen Container-MC nachgeladen wird, zeigt "_root" auf die Hauptzeitleiste des Hauptfilmes und nicht auf die Hauptzeitleiste des nachgeladenen Filmes. Ist einer der beliebtesten Fehler.

Abhilfe: entweder auf die Hauptzeitleiste des nachgeladenen Filmes einen _lockroot=true; setzen oder relative Pfadverweise wie "this" oder "this._parent" etc. verwenden. Alternativ helfen auch Pfadreferenzen, wie z.B. _global.dZ = this; auf der nachgeladenen Zeitleiste und dann per Copy+Paste alle "_root" mit "_global.dZ" ersetzen.
  Mit Zitat antworten
Alt 10-10-2006, 19:07   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2006
Beiträge: 44
Hier das Script

Danke! Jetzt funktioniert das geladene Script. Nur leider nicht richtig... (zumindest in meinem Sinne ;-))

Hier das Script (nach der "Dirgemäßen" Änderung - mit _rootlock = true ging es nicht):

_global.dZ = this
// Bühnen (Mittelpunkt)
mitteX = Stage.width / 2;
mitteY = Stage.height / 2;

// Neue Position (Festlegen)
_global.dZ.bilder_mc.onMouseMove= function() {
// Abstand (Differenz)
diffX = mitteX - _global.dZ._xmouse;
diffY = mitteY - _global.dZ._ymouse;

// Zielpunkt (Berechnen)
ZielX = mittex + diffX;
ZielY = mittey + diffY;

// Bewegung (Auslösen)
signal = 1;
};

// Sliden
_global.dZ.bilder_mc.onEnterFrame = function() {
if (signal) {
_global.dZ.bilder_mc._y += (Ziely - _global.dZ.bilder_mc._y) / 5;

}
};

Das Script hab ich übrigends aus dem Action Script Buch von Kannengießer.

Das zweite Problem bleibt aber: Wenn der Film geladen ist, reagiert er auf den onMouseMove Befehl auf der Kompletten Hauptfilmebene und nicht nur im geladenen Film selbst, was aber beabsichtigt war (es soll eine Mausverfolger Navileiste werden).

Das kann man doch nicht einfach maskieren?!

Wie kriegt man das hin??

Wenn Du mir das erklären kannst, bin ich wirklich kniefällig dankbar.

LG Matthias
jumapari 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:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele