Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Flash拖放测试完成时出错_Actionscript 3_Drag And Drop - Fatal编程技术网

Actionscript 3 Flash拖放测试完成时出错

Actionscript 3 Flash拖放测试完成时出错,actionscript-3,drag-and-drop,Actionscript 3,Drag And Drop,我正在尝试在flash上创建一个拖放游戏。但我最后得到了一个错误,语法错误#error1083,其他的都是意外的。 错误显示在第42行,我不知道我应该错在哪一行 有人能告诉我代码有什么问题吗 这是密码 import flash.events.MouseEvent; var objectoriginalX:Number; var objectoriginalY:Number; blue.buttonMode = true; blue.addEventLi

我正在尝试在flash上创建一个拖放游戏。但我最后得到了一个错误,语法错误#error1083,其他的都是意外的。 错误显示在第42行,我不知道我应该错在哪一行

有人能告诉我代码有什么问题吗

这是密码

    import flash.events.MouseEvent; 
    var objectoriginalX:Number;
    var objectoriginalY:Number;

    blue.buttonMode = true;
    blue.addEventListener(MouseEvent.MOUSE_DOWN, pickObject);
    blue.addEventListener(MouseEvent.MOUSE_UP, dropObject);




    green.buttonMode = true;
    green.addEventListener(MouseEvent.MOUSE_DOWN, pickObject);
    green.addEventListener(MouseEvent.MOUSE_UP, dropObject);


    red.buttonMode = true;
    red.addEventListener(MouseEvent.MOUSE_DOWN, pickObject);
    red.addEventListener(MouseEvent.MOUSE_UP, dropObject);

    function pickupObject(event:MouseEvent):void
    {
        event.target.startDrag();
        event.target.parent.addChild(event.target);
        objectOriginalX = event.target.x;
        objectOriginalY = event.target.y;
    }

function dropObject (event:MouseEvent):void
{
    event.target.stopDrag();
    var matchingTargetName:String = event.target.name + "target" ;
    var matchingTarget: DisplayObject = getChildByName(matchingTargetName);

    if(event.target.dropTarget != null && event.target.dropTarget.parent == matchingTarget);

{
    event.target.removeEventListener(MouseEvent.MOUSE_DOWN,pickupObject);
    event.target.removeEventListener(MouseEvent.MOUSE_UP,dropObject);
    event.target.buttonMode = false;
    event.target.x = matchingTarget.x;
    event.target.y = matchingTarget.y;
}



    else { // here is where i got error 1083
            event.target.x = objectOriginalX;
            event.target.y = objectOriginalY;
        }
    }

删除
在行尾:

if(event.target.dropTarget != null && event.target.dropTarget.parent == matchingTarget);

关于objectOriginalX和friends,问题是您没有初始化变量。与初始化为
0
int
不同,
Number
变量不初始化为实际值,而是
NaN
(非数字)。在计算中使用这些值之前,必须先设置这些值,如

var objectoriginalX:Number = 0;
var objectoriginalY:Number = 0;
…或者先把他们设定在起点。此外,您可能正在尝试在初始化pickObject之前添加它
Object
初始化为
null
,因此需要在使用pickObject之前将其分配给某个对象。例如,在这行中

blue.addEventListener(MouseEvent.MOUSE_DOWN, pickObject);

…pickObject是否存在?它不能为空;在使用它之前必须分配它。

我分配了。但还是有错误。错误是访问不受属性objectOriginalX、objectOriginalY和PickObject约束的。您可以上载FLA文件吗?谢谢您的帮助。事实上,我的错误是拼错了单词。我已经纠正了它们,但我遇到了另一个问题,我已经在上面的陈述中告诉Joseph。我尝试了另一种方法,我将答案拖到目标放置区域,然后单击“下一步”按钮,它将移动到下一个场景,但上一个答案仍保留在目标放置区域上的相同位置。需要帮助:(谢谢你的帮助!现在我可以解决这个错误了。事实上,我很笨,这个错误是一个非常简单的语法错误,我拼错了。真是一个笨拙的人。但是现在,我继续前进,遇到了另一个问题。我想在拖放测试中设置下一个按钮,它可以引导用户进入下一个场景或帧(如果可以的话).但它不起作用。每次我单击“下一步”按钮,正确的答案都会回到原来的位置,而场景也不会移动到另一个位置。你能帮助这个初学者吗?