怎样用鼠标拖动影片剪辑中正确答案(MC1)到规定位置,错误答案松开鼠标返回原位置?请用as3写出程序,谢谢

做了三个影片剪辑,分别是mc1(正确答案)、mc2(错误答案)、mc3(错误答案),拖动mc1到选择题的位置,可以松开鼠标;拖动mc2、3到选择题的位置,一松开鼠标,错误... 做了三个影片剪辑,分别是mc1(正确答案)、mc2(错误答案)、mc3(错误答案),拖动mc1到选择题的位置,可以松开鼠标;拖动mc2、3到选择题的位置,一松开鼠标,错误答案又回到原来的位置。

请教:这段脚本(AS3.0)是怎样的?先谢谢了
展开
 我来答
majsnbm
2012-06-13 · TA获得超过103个赞
知道答主
回答量:93
采纳率:0%
帮助的人:42.8万
展开全部
import flash.events.MouseEvent;
import flash.events.Event;
import flash.geom.Point;

//首先声明:我在舞台上声明了一个mc4影片剪辑,当做选择题的位置

var isDrag:Boolean = false; //定义一个变量,表示当前是否在拖拽

var mc2CurrentPos:Point = new Point(mc2.x,mc2.y); //记录mc2的起始坐标
var mc3CurrentPos:Point = new Point(mc3.x,mc3.y); //记录mc3的起始坐标

mc1.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); //给mc1加一个当鼠标按下去的侦听
mc2.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); //同理
mc3.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); //同理

mc1.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); //给mc1加一个当鼠标抬起来的侦听
mc2.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); //同理
mc3.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); //同理

addEventListener(Event.ENTER_FRAME, onEnterFrame); //加一个帧事件(表示每帧都执行一次此函数)

function onMouseDown(e:Event):void //鼠标按下去的函数
{
e.currentTarget.startDrag(); //当前按下去的目标可以拖拽
isDrag = true; //表示正在被拖拽
}

function onMouseUp(e:Event):void //鼠标抬起来的函数
{
e.currentTarget.stopDrag(); //当前抬起来的目标不可以拖拽
isDrag = false; //表示不再被拖拽
}

function onEnterFrame(e:Event):void //帧事件
{
if(mc2.hitTestObject(mc4) && (!isDrag)) //如果mc2碰到了mc4,并且此时没有被拖拽,则
{
mc2.x = mc2CurrentPos.x; //将mc2的x坐标变成最开始的坐标
mc2.y = mc2CurrentPos.y; //将mc2的y坐标变成最开始的坐标
}

if(mc3.hitTestObject(mc4) && (!isDrag)) //同理
{
mc3.x = mc3CurrentPos.x; //同理
mc3.y = mc3CurrentPos.y; //同理
}
}

纯手打,望采纳。(累死鸟~)
AS3爱好者真诚为您解答!
更多追问追答
追问
我建了两个图层,图层1用来存放影片剪辑MC1、MC2、MC3、MC4,图层2存放你写的代码,测试时出现以下问题:
场景 1, 图层'图层 2', 帧 1,22 行 Warning: 1090: 迁移问题: 在 ActionScript 3.0 中,onMouseDown 事件处理函数不是由 Flash Player 在运行时自动触发的。必须首先使用 addEventListener ('mouseDown', callback_handler) 为该事件注册此处理函数。
追答
这个不用管它,不会影响程序的正常运行。我只是习惯起这个名字,但如果你觉得不爽,可以把它换成别的~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式