我想制作Flash应用程序,允许用户将图片与包含其单词第一个字母的框匹配。该方法是拖放与目标。我真的很新鲜。当按钮单击退出框架时,请删除拖放对象
拖放目标工作到目前为止,但我的问题是当我移动对象后退出框架,拖放对象仍然可见。
如何在离开框架时删除此对象?
这里是我的了:之前
import flash.events.MouseEvent;
import flash.display.DisplayObject;
var objectoriginalX:Number;
var objectoriginalY:Number;
a.buttonMode = true;
a.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
a.addEventListener(MouseEvent.MOUSE_UP, dropObject); \t \t \t \t \t
function pickupObject(event:MouseEvent):void
{
\t event.target.startDrag();
\t event.target.parent.addChild(event.target);
\t objectoriginalX = event.target.x;
\t objectoriginalY = event.target.y;
}
function dropObject(event:MouseEvent):void
{
\t event.target.stopDrag();
\t var matchingTargetName:String = "target" + event.target.name;
\t var matchingTarget:DisplayObject = getChildByName(matchingTargetName);
\t if(event.target.dropTarget != null && event.target.dropTarget.parent == matchingTarget)
\t {
\t \t event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
\t \t event.target.removeEventListener(MouseEvent.MOUSE_UP, dropObject);
\t \t event.target.buttonMode = false;
\t \t event.target.x = matchingTarget.x;
\t \t event.target.y = matchingTarget.y;
\t }
\t else
\t {
\t \t event.target.x = objectoriginalX;
\t \t event.target.y = objectoriginalY;
\t }
}
感谢,任何建议将理解
编辑:这是我使用移动到其他场景
代码HOME1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene_15);
function fl_ClickToGoToScene_15(event:MouseEvent):void
{
\t MovieClip(this.root).gotoAndStop(2, "Scene 1");
}
你如何进入下一帧?当你使用addChild来父对象或重新对象时,你需要使用'removeChild'来除掉它。一旦重新设置(如果最初在时间轴上为父),时间线将不再影响对象。看起来你可能需要做的就是在移动到下一帧removeChildren()之前手动清除所有的孩子。 nextFrame();'。 – BadFeelingAboutThis
我尝试使用按钮单击来移动下一帧。我已经尝试使用removeChildren();但它给了我一个错误1180:调用一个可能未定义的方法removeChildren。真的需要帮助。谢谢。 –
你需要显示你的相关代码。更新你的问题,并包括你用来转到下一帧的代码。 – BadFeelingAboutThis