我正在尝试制作一个拖放游戏,基本上我有三个条件,如果被拖动的项目放在一个不应该匹配的目标上,那么将用户带到另一个框架(游戏结束),但是如果放置的项目与目标匹配,然后将项目放在目标的顶部。
这是我的代码:
import flash.events.MouseEvent;
import flash.display.DisplayObject;
var objectoriginalX:Number;
var objectoriginalY:Number;
plastic_1.buttonMode = true;
plastic_1.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
plastic_1.addEventListener(MouseEvent.MOUSE_UP, plasticwastetarget);
function pickupObject(event:MouseEvent):void
{
event.target.startDrag();
event.target.parent.addChild(event.target);
objectoriginalX = event.target.x;
objectoriginalY = event.target.y;
}
function plasticwastetarget(event:MouseEvent):void
{
event.target.stopDrag();
var matchingTargetName:String = "plasticWaste";
var matchingTarget:DisplayObject = getChildByName(matchingTargetName);
if(event.target.dropTarget.parent !== matchingTarget)
{
gotoAndStop(20);
}
else if(event.target.dropTarget != null && event.target.dropTarget.parent == matchingTarget)
{
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
event.target.removeEventListener(MouseEvent.MOUSE_UP, plasticwastetarget);
event.target.buttonMode = false;
event.target.x = matchingTarget.x;
event.target.y = matchingTarget.y;
}
else
{
event.target.buttonMode = true;
gotoAndStop(20);
// How can I remove the item from screen and just go to frame 20
}
}
我遇到的问题是,如果用户将一个项目放在一个不应该匹配的目标上,那么该项目只是在整个动画中停留在屏幕上,无论如何我是否可以移除或隐藏该对象/项目?
这是我正在制作的支票:
else
{
event.target.buttonMode = true;
gotoAndStop(20);
// How can I remove the item from screen and just go to frame 20
}
我是使用ActionScript的新手,我无法解决此问题,请有人帮我解决此问题,谢谢。
答案 0 :(得分:1)
试试这个
else
{
event.target.buttonMode = true;
gotoAndStop(20);
// How can I remove the item from screen and just go to frame 20
event.target.parent.removeChild(event.target);
}