Hallo Zusammen,
ich hab da ein kleines Problemchen mit meinem Menü. Ich möchte auf klick den Menüpunkt 10px nach links und nach unten verschoben haben. Nachdem ein weiterer Menüpunkt geklickt wird, soll der "alte" wieder in die Ursprungsposition zurückwandern und der neue 10px nach links und nach unten wandern.
Mein erster Lösungsansatz war zuerst mit setInterval. Da habe ich die Menüpunkte wunderschön zu verschieben gebracht, allerdings hat er mir die nach dem clearInterval stehenden Anweisungen nicht mehr ordnungsgemäß ausgeführt. Er lädt zwar noch den gewünschten Film, jedoch wendet er die darauf liegende Maske nicht an (Inhalt des Film verschwindet hinter der Maske) und der dazugehörige Preloader wird ebenfalls nicht ausgeführt. Das witzige an der Sache ist die Tatsache das der Fehler nur sporadisch auftritt.
So, jetzt dachte ich mir ich übergehe die setInterval-Funktion und verwende die Tween-Klasse. Nachdem ich es nicht besser weiß führe ich parallel eine tween-Funktion für x und eine für y aus.
Code:
movePic = function(num, num_old) {
import mx.transitions.*;
var zeit = 1; // 2 Sekunden
var start_new_x = Navigation["navi_0"+num+"_col"]._x;
var end_new_x = start_new_x + 10;
var start_new_y = Navigation["navi_0"+num+"_col"]._y;
var end_new_y = start_new_y + 10;
trace("X:"+Navigation["navi_0"+num+"_col"]._x+" - Y:"+Navigation["navi_0"+num+"_col"]._y);
// eigentlicher Verschiebevorgang vom neuen Menüpunkt
var tw_x = new Tween(Navigation["navi_0"+num+"_col"], "_x", mx.transitions.easing.None.easeNone, start_new_x, end_new_x, zeit, true);
var tw_y = new Tween(Navigation["navi_0"+num+"_col"], "_y", mx.transitions.easing.None.easeNone, start_new_y, end_new_y, zeit, true);
// var tw_y = new Tween(mc_pic, "_y", mx.transitions.easing.None.easeNone, startPosition, endPosition, zeit, true);
tw_x.onMotionFinished = function() {
trace("TEST");
};
}
Selbst wenn ich es auf 1s herunterstelle sieht man wirklich wie x und y nacheinander abgearbeitet werden. Jetzt ist meine Frage ob es die Möglichkeit gibt zum einem das ganze Diagonal mit einem Tween und zum zweiten "ruckelfrei" abzuarbeiten?
Bis jetzt habe ich leider nichts dazu gefunden. Ich habe mein ursprüngliches Problem auch schon in einem anderen Forum mal zur Diskussion gestellt, jedoch ohne Erfolg.
Könntet Ihr mir bitte helfen?
Vielen Dank im voraus
VG Michl