タイトルは多かれ少なかれ一目瞭然です。私はさまざまなチュートリアルに取り組んできましたが、正直に言うと、AS3 があまり得意ではありません。(上の画像は私が目指しているものを示しています)
とにかく、私が見ているほとんどのオンライン チュートリアルで気づいたことは、ドラッグ アンド ドロップのチュートリアルは、1 つのオブジェクトから 1 つのターゲットへ、または複数のオブジェクトから複数のターゲットへのいずれかに基づいているため、誰かが私を助けてどのように説明するのに十分親切であるかどうか疑問に思っていました。複数のオブジェクトを 1 つのターゲットに接続できます。
そして、可能であれば切り替え可能にします。たとえば、オブジェクト 2 をドラッグしたときにオブジェクト 1 が既にターゲット上にある場合、オブジェクト 1 が元の位置に戻り、オブジェクト 2 が代わりに配置されます。
これを説明する簡単な方法は、3 つの彫像があり、ユーザーが 3 つのうちの 1 つを選択して、設定されたターゲット ゾーンに配置できるゲームを作成しようとしていると言うことです。
私が言っていることがあまり意味をなさない場合はお詫び申し上げます。混乱が生じた場合は解決します。現在使用しているAS3コードは次のとおりです。
var startX:int;
var startY:int;
circle1_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
circle1_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
circle2_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
circle2_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
circle3_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);
circle3_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);
function pickUp(event:MouseEvent):void {
startX = event.target.x;
startY = event.target.y;
event.target.startDrag(true);
event.target.parent.addChild(event.target);
}
function dropIt(event:MouseEvent):void {
event.target.stopDrag();
var theTargetName:String = "target" + event.target.name;
var theTarget:DisplayObject = getChildByName(theTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == theTarget){
event.target.buttonMode = false;
event.target.x = theTarget.x;
event.target.y = theTarget.y;
}
else{
event.target.x = startX;
event.target.y = startY;
circle1_mc.buttonMode = true;
circle2_mc.buttonMode = true;
circle3_mc.buttonMode = true;