Flash想做个鼠标点哪元件就移动到哪的

用as3舞台中有一影片剪辑,鼠标点哪,影片剪辑就缓慢移动到哪... 用as3
舞台中有一影片剪辑,鼠标点哪,影片剪辑就缓慢移动到哪
展开
 我来答
hyxteach
2013-02-12 · TA获得超过8780个赞
知道大有可为答主
回答量:2252
采纳率:50%
帮助的人:929万
展开全部
1、制作一个影片剪辑,拖放到舞台,属性栏的名字叫做ball_mc
2、右击同一个帧,选“动作”,输入一下代码,那么这个ball_mc就跟随你的鼠标移动了。
/* 自定义鼠标光标
用指定的元件实例替换默认的鼠标光标。
*/
stage.addChild(ball_mc);
ball_mc.mouseEnabled = false;
ball_mc.addEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);
function fl_CustomMouseCursor(event:Event)
{
ball_mc.x = stage.mouseX;
ball_mc.y = stage.mouseY;
}
Mouse.hide();
//要恢复默认鼠标指针,对下列行取消注释:
//ball_mc.removeEventListener(Event.ENTER_FRAME, fl_CustomMouseCursor);
//stage.removeChild(ball_mc);
//Mouse.show();
追问
是舞台中有一影片剪辑,鼠标点哪,影片剪辑就缓慢移动到哪,不是跟随鼠标
追答
//舞台上有3个元件分别是:
地板_mc,目的_mc, 小人_mc,鼠标点击地板后,影片剪辑目的就瞬间出现在鼠标的地方,而小人会缓慢移动到目的地。

地板_mc.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler_4);
function fl_MouseClickHandler_4(event:MouseEvent):void
{
目的_mc.x = stage.mouseX;
目的_mc.y = stage.mouseY;
}

addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler_2);
function fl_EnterFrameHandler_2(event:Event):void
{
var a = 目的_mc.x - 小人_mc.x;
var b = 目的_mc.y - 小人_mc.y;
var c=Math.sqrt(a*a+b*b);
var vx = a / c;
var vy = b / c;

if (c==0)
{
小人_mc.stop();
小人_mc.小人走_mc.stop();
}
else if (c=0)

{
小人_mc.x += vx * 5;
小人_mc.y += vy * 5;
小人_mc.gotoAndStop(1);
小人_mc.小人走_mc.play();
}
else if (a<0)
{
小人_mc.x += vx * 5;
小人_mc.y += vy * 5;
小人_mc.gotoAndStop(2);
小人_mc.小人走_mc.play();
}
}
//程序结束
zb6306
2013-02-12 · TA获得超过777个赞
知道大有可为答主
回答量:2585
采纳率:66%
帮助的人:1171万
展开全部
首先要明白你要移动啥?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式