startDrag()
関数を使用せずに、MovieClipを選択してドラッグする単純な関数を作成しようとしています。AS3:MCを選択すると、なぜ「震える」のですか?
ステージ上にMCがいくつかあります。マウスをMC上に置くと、MCをマウスで動かすことができます。しかし、私がマウスを押し下げたとき、MCは "震える"ようになり、私は理由が分かりません。
私は他の理由で各MCの中にコードを持っています。ここで私はこれまで持っているものです。
var selectX:Number; //x coordinate of mouse click (to select right point on mc on mouse down)
this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
function mouseDownHandler(e:MouseEvent):void {
selectX = this.x - mouseX;
addEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
function mouseUpHandler(e:MouseEvent):void {
mouseX2 = mouseX;
removeEventListener(Event.ENTER_FRAME, onEnterFrameHandler);
}
function onEnterFrameHandler(e:Event):void {
this.x = mouseX + selectX + stage.x;
}
+1しかし彼は自分のコードでXを動かしているだけなので、startDragではバウンディングボックスを実装してXだけにすることができます。これはすべてstartDragを使いたくない理由であると仮定しています –
Jevgenjiありがとう、完璧に動作します。 @Dhe_asManのように、私はトラックの下にバウンディングボックスを実装している可能性があるので、startDragを使用したくないので、その可能性を計画しようとしています。再度、感謝します。 – muudless