Mein Problem zu beeinflussen ist: Ich habe einen Movieclip (obj
), dass die Benutzer auf beiden Seiten den Code, den ich für diese navigieren ziehen, verwenden:Wie eine Drag-Aktion verhindern, dass die Kinder eines MovieClip-
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.events.Event;
import flash.geom.Rectangle;
var destination: Point = new Point();
var dragging: Boolean = false;
var speed: Number = 10;
var offset: Point = new Point();
var bounds: Rectangle = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
obj.addEventListener(MouseEvent.MOUSE_DOWN, startdrag);
stage.addEventListener(MouseEvent.MOUSE_UP, stopdrag);
obj.addEventListener(Event.ENTER_FRAME, followmouse);
function startdrag(e: MouseEvent): void {
offset.x = obj.mouseX * obj.scaleX;
dragging = true;
}
function stopdrag(e: MouseEvent): void {
dragging = false;
}
function followmouse(e: Event): void {
if (obj) {
if (dragging) {
destination.x = mouseX;
}
obj.x -= (obj.x - (destination.x - offset.x))/speed;
if (obj.x > bounds.left) {
obj.x = bounds.left;
}
if (obj.x < -obj.width + bounds.right) {
obj.x = -obj.width + bounds.right;
}
}
}
so weit so gut, das Problem kommt, wenn ich in diesem Movieclip (obj
) einige klickbare Elemente setzen, sind hier der Code für die klickbare Elemente:
objA.addEventListener(MouseEvent.CLICK, objATrigger);
objB.addEventListener(MouseEvent.CLICK, objBTrigger);
objC.addEventListener(MouseEvent.CLICK, objCTrigger);
function objATrigger(event: MouseEvent): void {
MovieClip(this.parent).gotoAndPlay(1, "Main");
}
function objBTrigger(event: MouseEvent): void {
MovieClip(this.parent).gotoAndPlay(1, "Main");
}
function objCTrigger(event: MouseEvent): void {
MovieClip(this.parent).gotoAndPlay(1, "Main");
}
das Problem ist: wenn ich die MovieClip- ziehen (obj
) Es gibt ein Confli ct mit dem Ereignis, wenn die Maus nach dem Ziehen freigeben, wird das Ereignis Click
von MovieClips innerhalb des MovieClip (obj
) ausgelöst, wie kann ich das beheben? Sie sollten nur ausgelöst werden, wenn keine Drag-Aktion stattfindet.
immer noch nicht funktioniert, habe ich die Variable verfolgt und es gibt 'false' Ändern –
Versuchen addEventListener zu: objA.addEventListener (MouseEvent.MOUSE_DOWN, objATrigger); –
TypeError: Fehler # 1009: Zugriff auf eine Eigenschaft oder Methode eines Nullobjektverweises nicht möglich. –