FLASH拖拽按钮到指定区域

我有一个圆圈,还有一个方块我点击圆圈的时候,圆圈跟着鼠标移动,当圆圈移动到方框上的时候,方框闪动一下,释放鼠标,圆圈消失。在方框上显示一段字这个效果在flash中怎么实现... 我有一个圆圈,还有一个方块
我点击圆圈的时候,圆圈跟着鼠标移动,当圆圈移动到方框上的时候,方框闪动一下,释放鼠标,圆圈消失。在方框上显示一段字

这个效果在flash中怎么实现。谢谢
谢谢,圆圈有拖拽的效果,但是放置到方框内的话,判断这一块儿没有效果.

让方框闪动这个很容易.但是拖拽到方框,这一动作好像没什么反应.....
展开
 我来答
lian0461
推荐于2016-04-13 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:60
采纳率:0%
帮助的人:104万
展开全部
圆圈和方块各做为影片元件,分别命名.如circle,box;
box元件中,做一个方块闪动的动画,并在第一帧和最后一帧上写上stop()
回到顶级_root,在第一帧上添加动作
circle.onPress = function() {
circle.startDrag(true,0,0,Stage.width,Stage.height) //可托动圆圈到画布任何区域.
dragSwitch = 1 //判断是否处于拖动状态
}
_root.onMouseMove = function() { //鼠标移动事件
if (dragSwitch==1) {
if (_root._xmouse>box._x &&_root._ymouse > box._y && _root._xmouse <box._width && _root._ymouse < box._height) {//判断是否拖动至方块内
circle.stopDrag(); //停止拖动
box.gotoAndPlay(2); //播放方块闪动动画
}
}
}
呵呵,不好意思,少了点东西.
判断部分换成以下代码
if (_root._xmouse>box._x &&_root._ymouse > box._y && _root._xmouse <box._x+box._width && _root._ymouse < box._y+box._height)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
泡影果果616
推荐于2016-09-06 · 知道合伙人软件行家
泡影果果616
知道合伙人软件行家
采纳数:2005 获赞数:71331
软件技术从上学的时候就在研究,虽没最强大脑那般无敌,但依靠后天的勤奋学习,相信可以很专业的帮助更多人

向TA提问 私信TA
展开全部
1、在FLASH文档中,把要拖动的图片都做成按钮,再把每一个图片做的按钮放到每一个影片剪辑中(有几个图片按钮就有几个影片剪辑)做成影片剪辑。
2、把要拖动图片的目标位置做成影片剪辑,这个目标位置的图片要做得十分地小,可以是一个很小的看不见的圆圈(自己设置该图片的颜色,以至看不见该图片为最好),每一个要拖动的图片都要有一个这样的目标位置。也就是有几个要拖动的图片就要有几个这样的位置。
3、新建影片剪辑:把按钮做成的影片剪辑(实例取名:mc),拖动图片要放的目标位置做成的影片剪辑(实例取名:mb_mc)(实例名可以取别的名字,在代码中也要做相应的修改。),放到新建的这个影片剪辑中,并为这个新建的影片剪辑写上代码:(在帧上写上代码:点一下层上放有“两个剪辑”的帧,然后点“动作”复制下面的代码就行了,如果实例名变了,只要更改代码中的实例名就行了),每一个要拖动的图片都要做成这样的影片剪辑(也就是要做成单独的写有以下代码影片剪辑) 。
4、把所有在第3步中做成的影片剪辑,拖入到场景中(同一帧也可以,每一层的第一帧也可以)
var mc_x:Number=this.mc._x;
var mc_y:Number=this.mc._y; //设一变量mc_x\mc_y记录被拖图片的初始位置
var mb_x:Number=this.mb_mc._x;
var mb_y:Number=this.mb_mc._y; //设一变量mb_x\mb_y记录目标点的位置;
this.mc.onPress=function(){
startDrag("mc",true); } //图片MC被点击时拖动;
this.mc.onRelease=function(){
stopDrag(); //松开时停止拖动;
jlx=Math.abs(mc._x-mb_x); //Math.abs(x) 方法;计算并返回由参数 x 指定的数字的绝对值。
jly=Math.abs(mc._y-mb_y); //松开时图片与目标点的位置差;
if(jlx<20||jly<20){//&&
mc._x=mb_x;
mc._y=mb_y; } //如果位置差小于20,那么图片停留在目标点; else{ mc._x=mc_x; mc._y=mc_y; } //否则回到初始位置; }。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式