仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 619|回复: 8
打印 上一主题 下一主题

[学习教程] 给大家带来拖出你的出色:Flash MX课件中的拖动

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 21:06:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ActionScript是一种程序语言的简单文本文件.FLA档案能够直接包含ActionScript。
<divclass="start">用FlashMX制造交互式的课件时,良多场所都必要用到拖动。在FlashMX中次要的拖动体例有以下三种:无任何束缚的拖动、限定在某一矩形局限内的拖动、限定在某一起径上的拖动。上面经由过程实例加以申明。

  1.无任何束缚的拖动
<P>
(1)翻开“拔出”菜单的“新建元件”命令,在“创立新元件”对话框中,“称号”框内输出“球”,“举动”选择“影片剪接”。

  (2)画一个圆,最好是让圆心和影片剪接的中央对齐。

  (3)选择主场景,按F11翻开“库”面板,将刚制造好的球拖动至主场景中。

  (4)选择主场景中的球,翻开窗口下方的“属性”面板,在称号框内输出称号ball。

  (5)右击ball,选择“举措”命令,在代码编纂框内输出:

  on(press)

  {

  startDrag("",true);//同意拖动ball

  }

  on(release,releaseOutside)

  {

  stopDrag();//开释鼠标时,中断拖动ball

  }

  (6)拖动ball,我们将看到ball能够拖动加入景中的恣意地位,开释鼠标时,ball将中断拖动。

  2.束缚某一矩形局限内的拖动

  将以上代码改成:

  on(press)

  {

  //限定拖动局限为(0,0)到(100,100)之间,注重坐标原点位于场景中的左上角。

  startDrag("",true,0,0,100,100);}

  on(release,releaseOutside)

  {

  stopDrag();

  }

  再拖动ball,将看到ball被限定在某一地区内拖动。

  3.沿某一起径的拖动

  在某些场所,如经由过程拖动静态天生数学函数图象时,由于函数图象都有一个函数式束缚,决意了以上两种办法都不成行。这类拖动的关头在于要依据束缚前提来决意被拖动工具的地位。上面以静态天生圆来讲明此类拖动成绩的办理办法。

  (1)经由过程“拔出”菜单制造一个名为“点”的影戏剪接,画一个小点暗示该影戏剪接,注重点的中央和影戏剪接的中央点重合。

  (2)转到主场景,新增一图层,将两图层分离定名为“剧本”和“工具”。

  (3)选择“工具”工夫轴,在场景中到场两个“点”的实例,在它们的属性面板平分别定名为“yuanxi”(暗示圆心)和“dian”(暗示圆周上的点),让它们得当坚持必定的间隔,而且让“yuanxi”位于场景的中心。
(4)右击“剧本”层第一帧,选择“举措”,在代码编纂窗口内输出以下剧本:

  drag_flag=false;//拖动标记

  x0=yuanxin._x;

  y0=yuanxin._y;

dian_x=dian._x;

  dian_y=dian._y;

  //盘算圆的半径,这就是拖动圆周的点的束缚前提,被拖动的点到圆心的间隔即是半径。

  r=Math.sqrt((x0-dian_x)*(x0-dian_x)+(y0-dian_y)*(y0-dian_y));

  _root.onEnterFrame=function()

  {

  if(drag_flag)

  {

  x=_xmouse;

  y=_ymouse;

  angle=Math.atan(Math.abs(y0-y)/Math.abs(x-x0));

  dian_x=x0+r*Math.cos(angle);

  dian_y=y0-r*Math.sin(angle);

  //第一象限

  if((x>=x0)&&&&(y<=y0))

  {

  dian_x=x0+r*Math.cos(angle);

  dian_y=y0-r*Math.sin(angle);

  depth=angle*180/3.14159;

  }

  //第二象限

  if((x<=x0)&&&&(y<=y0))

  {

  dian_x=x0-r*Math.cos(angle);

  dian_y=y0-r*Math.sin(angle);

  depth=angle*180/3.14159+90;

  }

  //第三象限

  if((x<=x0)&&&&(y>=y0))

  {

  dian_x=x0-r*Math.cos(angle);

  dian_y=y0+r*Math.sin(angle);

  depth=angle*180/3.14159+180;

  }

  //第四象限

  if((x>=x0)&&&&(y>=y0))

  {

  dian_x=x0+r*Math.cos(angle);

  dian_y=y0+r*Math.sin(angle);

  depth=angle*180/3.14159+270;

  }

  duplicateMovieClip("dian","dian"adddepth,depth);

  _root["dian"adddepth]._x=dian_x;

  _root["dian"adddepth]._y=dian_y;

  _root.clear();

  _root.moveTo(x0,y0);

  _root.lineStyle(1,0xff0000,100);

  _root.lineTo(dian_x,dian_y);

  }

  }
柔情似水 该用户已被删除
沙发
发表于 2015-1-17 15:44:42 | 只看该作者
用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。
老尸 该用户已被删除
板凳
发表于 2015-1-24 14:21:42 | 只看该作者
Flash流行的主要原因是它使用了矢量图形(与位图相反)。因为这种图形格式比位图小得多,而且在缩放时对图形质量影响不大,所以很适合对带宽要求很高的Web。
若相依 该用户已被删除
地板
发表于 2015-2-1 18:07:12 | 只看该作者
考虑到实际的效果,这些专业的网站并不会去单纯追求技术本身,广告设计是否FLASH不是目的,关键是获得最好的宣传效果。
不帅 该用户已被删除
5#
发表于 2015-2-7 14:39:43 | 只看该作者
关于位图和矢量图形的区别,可参看Flash教程。
飘灵儿 该用户已被删除
6#
发表于 2015-2-22 19:44:49 | 只看该作者
一个物体从一个角(关键祯1)移动到另一个角(关键祯2)。然后tweening在关键祯之间填充祯,从而使物体可以在屏幕上优雅地运动。
只想知道 该用户已被删除
7#
发表于 2015-3-7 04:42:06 | 只看该作者
祯率越高,动画中可包容的信息越多,动画看起来越光滑和流畅。当然,当祯率增加时,计算机的CPU的重绘工作越多,运行得就越慢。
山那边是海 该用户已被删除
8#
发表于 2015-3-14 13:48:08 | 只看该作者
关于位图和矢量图形的区别,可参看Flash教程。
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-21 10:32:56 | 只看该作者
FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-17 05:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表