我創建了一個謎題,您可以拖放16個部分。我使用了一個數組,以便代碼不會太大。現在,我想添加一個功能,讓每個拼圖碎片一旦到達目的地就會正確對齊。使用ActionScript 3創建一個捕捉函數的數組
我的問題是,我不知道如何創建一個可以實現我的目標的數組。我嘗試以下(不包括數組而是產生太多的代碼,如果我用所有16塊拼圖做到這一點):
if(target1_mc.hitTestObject(piece1_mc.tar1_mc))
{
piece1_mc.x = 207,15;
piece1_mc.y = 119,25;
}
代碼:
import flash.events.Event;
import flash.events.MouseEvent;
var puzzleArr:Array = new Array (piece1_mc, piece2_mc, piece3_mc, piece4_mc,
piece5_mc, piece6_mc, piece7_mc, piece8_mc,
piece9_mc, piece10_mc,
piece11_mc, piece12_mc, piece13_mc, piece14_mc, piece15_mc, piece16_mc);
for (var i:uint =0; i < puzzleArr.length; i++) {
puzzleArr[i].addEventListener(MouseEvent.MOUSE_DOWN, drag);
puzzleArr[i].addEventListener(MouseEvent.MOUSE_UP, drop);
}
function drag(event:MouseEvent):void {
event.currentTarget.startDrag();
}
function drop(event:MouseEvent):void {
event.currentTarget.stopDrag();
}
在你的代碼中,你的地址是否與target_mc不同,它的地址是「tar1_mc」,「tar2_mc」等於意思是tar_mc =/= target_mc – bulletproof
總是會出現這個錯誤:TypeError:Error#1010:沒有屬性。 – bulletproof
如果你澄清了所有這些對象是什麼,也許會很好。 'tarx_mc'的目的是什麼。錯誤指向什麼代碼行? – BadFeelingAboutThis