我的問題是:我有一個影片剪輯(obj
),用戶可以拖動到雙方導航,我用這個代碼:如何防止拖動操作來影響影片剪輯的兒童
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;
}
}
}
到目前爲止好,問題就來了,當我把一些點擊元素該MovieClip(obj
),這裏都爲可點擊元素裏面的代碼:
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");
}
的問題是:當我拖動影片剪輯(obj
)有一個confli在事件發生後,在拖動後釋放鼠標時,影片剪輯(obj
)中的影片剪輯事件Click
被觸發,我該如何解決這個問題?只有在沒有拖動動作時才能觸發它們。
仍然沒有工作,我已經跟蹤的變量,它返回'FALSE' –
嘗試改變的addEventListener到:objA.addEventListener (MouseEvent.MOUSE_DOWN,objATrigger); –
TypeError:錯誤#1009:無法訪問空對象引用的屬性或方法。 –