0
ステージには多くのムービークリップがありますか?ここでは、ムービークリップ内でドラッグアンドドロップを使用してそれらを整列させたいと思います。選択したムービークリップを添付の画像に示すムービークリップの下に配置して、垂直線を表示します。ここでフラッシュでas3をスナップする方法は?
はイメージです。
ここではコードです:
package
{
import flash.display.DisplayObject;
import flash.display.MovieClip;
import flash.events.MouseEvent;
public class Main extends MovieClip
{
private var obj:Rectangle1 = new Rectangle1();
private var obj1:Rectangle1 = new Rectangle1();
private var obj2:Rectangle1 = new Rectangle1();
private var obj3:Rectangle1=new Rectangle1();
public var Obj_Arr:Array = [];
private var p:VerticalLine;
public function Main()
{
obj.x=20;
obj.y=100;
addChild(obj);
obj1.buttonMode = true;
trace("init()")
obj.buttonMode=true;
obj1.x=150;
obj1.y=100;
addChild(obj1);
obj2.buttonMode=true;
obj2.x=280;
obj2.y=100;
addChild(obj2);
obj3.buttonMode=true;
obj3.x=430;
obj3.y=100;
addChild(obj3);
p = new VerticalLine();
addChild(p);
p.visible = false;
Obj_Arr.push(obj);
Obj_Arr.push(obj1);
Obj_Arr.push(obj2);
Obj_Arr.push(obj3);
for (var i:int = 0; i < Obj_Arr.length; i++)
{
Obj_Arr[i].index = i;
Obj_Arr[i].addEventListener(MouseEvent.MOUSE_DOWN, OnDown);
Obj_Arr[i].addEventListener(MouseEvent.MOUSE_UP, OnUp);
}
}
private function OnDown(e:MouseEvent):void
{
e.target.startDrag();
trace(e.target.index);
trace("remove...")
Obj_Arr.splice(e.target.index,1)
e.target.addEventListener(MouseEvent.MOUSE_MOVE, OnMove);
}
private function OnMove(e:MouseEvent):void
{
for (var i:int = 0; i < Obj_Arr.length; i++)
{
if(e.target.x==(Obj_Arr[i].x))
{
p.visible = true;
p.x = Obj_Arr[i].x;
p.y = Obj_Arr[i].y;
i = Obj_Arr.length;
}
else
{
p.visible =false;
}
}
}
private function OnUp(e:MouseEvent):void
{
p.visible =false;
e.target.stopDrag();
Obj_Arr.push(e.target);
for (var i:int = 0; i < Obj_Arr.length; i++)
{
if(e.target.index == (Obj_Arr[i].index))
{
trace("add...");
Obj_Arr[i].x = e.target.x;
Obj_Arr[i].index = i;
}
}
e.target.removeEventListener(MouseEvent.MOUSE_MOVE, OnMove);
}
}
}
しかし、正常に動作し、このコードイマイチ。
助けてください!
ありがとうございます。
@ Marty Wallace:私は私の質問で欲しいものは何でも説明しました。 –
@ Marty Wallace:私はあなたの提案に従って私の答えを編集しました。 –
ありがとうございます、 '+ 1'になりました。 – Marty