Flash cs6 (Actionscript 3.0) でジグソー パズルを作成しようとしています。コードは次のとおりです。
import flash.events.Event;
import flash.events.MouseEvent;
addEventListener(Event.ENTER_FRAME,onenter);
stop();
function pickupObject(event:MouseEvent):void
{
event.target.startDrag(true);
}
function dropObject(event:MouseEvent):void
{
event.target.stopDrag();
}
function dropTarg(event:MouseEvent):void
{
event.target.stopDrag(x,y);
}
function onenter(event:Event)
{
var pieces = [p1,p2,p3,p4,p5,p6];
var targets = [target1,target2,target3,target4,target5,target6]
var targ = [p1.targ1,p2.targ2,p3.targ3,p4.targ4,p5.targ5,p6.targ6]
var xcoord = [241.00,374.40,529.85]
var ycoord = [224.65,224.65,224.65]
for each (var i in pieces)
{
i.buttonMode = true;
i.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
i.addEventListener(MouseEvent.MOUSE_UP, dropObject);
if (targets[i].hitTestObject(i.targ[i]))
{
//i.removeEventListener(MouseEvent.MOUSE_UP,dropObject);
i.x = xcoord[i];
i.y = ycoord[i];
//i.addEventListener(MouseEvent.MOUSE_UP,dropObject);
}
}
}
私が達成しようとしているのは、基本的に、ユーザーが p1 と言う (このオブジェクトにはレイヤー内に別の targ がある) をクリックし、その targ が対応するターゲットにヒットすると、オブジェクトは x、y 座標でスナップします。
私が得ているエラーは TypeError: Error #1010: A term is undefined and has no properties です。JigSawWithArrays_fla::MainTimeline/onenter() で
これにより、配列を正しく参照/アクセスしていないと思います。
これは実行可能ですか?私は Flash cs6 の初心者であり、これに関するガイダンスをいただければ幸いです。
前もって感謝します。