仓酷云

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

[学习教程] 来谈谈:flash action 详解(10)

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

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

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

x
FlashScreensaversMaker能够迅速的将您的Flash作品转化为屏保程序。
活动缓冲效果简析
菜单的体现体例能够说是绰约多姿,充斥本性,但透过征象看实质,其手艺的中心却有着相通或类似的地方,好比明天所要讲的活动的缓冲效果,其在这方面的使用长短常的多,固然,一个好的导航菜单决不单单只是活动缓冲的效果,它还包含良多方面,好比创意。明天所写的器材实在并没有多年夜的手艺含量,都是很基础的器材,可是假如你真正把握了一些基础的常识,那末你才有大概发扬本人的伶俐才干往计划一些更酷炫的器材,而不单单是复杂的把他人的代码copy到本人的作品当中,大概改改他人的原文件就用,这对你的进修并没有甚么优点,假如你批准我的概念,那末请接着看下往.....
正题:
主场景中只要一帧、一个MC(MovieClip),假如我要的效果是点一下鼠标,MC就呈现在鼠标所点击的地位,该怎样完成呢。一般我们能够给MC加如许的代码:
onClipEvent(load){
_x=300;
_y=200;
}
//设置MC的初始坐标,假如不必要设置以上代码可省。此代码(↑)只运转一次。
onClipEvent(mouseDown){
targetx=_root._xmouse;
targety=_root._ymouse;
}
//鼠标按下,把其坐标分离赋值给两个变量:targetx、targety
onClipEvent(enterFrame){
_x=targetx;
_y=targety;
}
//把targetx、targety的值分离赋值给MC的_x_y
//〖固然你也能够如许写:
onClipEvent(load){
_x=300;
_y=200;
}
onClipEvent(enterFrame){
if(Key.isDown(1)){//假如鼠标左键按下
_x=_root._xmouse;
_y=_root._ymouse;
}
}


但为了表述便利,以下将接纳第一种写法〗
ctrl+Enter测试一下效果,当点击鼠标左键,MC就会呈现在鼠标点击的地位,但并没有呈现MC的
活动历程,那末,假如要呈现MC的活动缓冲历程又该怎样设置代码?
OK,我们先试着给MC加如许的代码:
onClipEvent(load){
vx=1;
vy=1;
//你能够试着改动vx、vy的值,然后看看效果.
}
onClipEvent(enterFrame){
_x+=vx;//大概_x-=vx;
_y+=vy;//大概_y-=vy;
}


Ctrl+Enter寓目效果,我们将看到MC活动了,这是由于enterFrame以影片帧频不休地触发此举措:
_x+=vx;(等效于_x=_x+vx)_y+=vy;使MC的x、y坐标不休的在本来的基本上加上vx、vy,这个你得专心体味。MC固然活动了,但速率是恒定的,由于MC的x、y坐标每次增添的量(步长)是个定值vx、vy,假如vx、vy不是定值,那很明显MC的活动就是变速的。
基于以上的头脑,为了完成MC的活动缓冲历程,我们能够如许设置代码:
onClipEvent(load){
_x=300;
_y=200;
}
onClipEvent(mouseDown){
targetx=_root._xmouse;
targety=_root._ymouse;
}
onClipEvent(enterFrame){
distx=targetx-_x;
disty=targety-_y;
//算出鼠标点击的地位到MC的间隔
movex=distx/10;
movey=disty/10
_x+=movex;
_y+=movey;
}


在这里我们利用了_x+=movex;_y+=movey;起首我们得注重
movex和movey并非一个流动稳定的数值,在MC的活动过程当中,其x、y坐标是不休变更的,以是movex和movey也是不休变更的(movex=distx/10;movey=disty/10;而distx=targetx-_x;disty=targety-_y;)。


以上代码我们能够精简为:

onClipEvent(load){
_x=300;
_y=200;
}
onClipEvent(mouseDown){
targetx=_root._xmouse;
targety=_root._ymouse;
}
onClipEvent(enterFrame){
_x+=(targetx-_x)/10;
_y+=(targety-_y)/10;
}


我想你大概注重到了,为何(targetx-_x)、(targety-_y)还要除以10?
你能够把它往失落,酿成:
_x+=targetx-_x;
_y+=targetx-_x;

Ctrl+Enter看看效果,这时候你只需一点击鼠标,MC即刻就呈现在点击的地位,基本就看不到MC的活动历程,这是由于MC的x、y坐标的增量过年夜,为鼠标点击的地位到MC的间隔,正由于云云,鼠标一点击,MC就会即刻呈现在点击的地位。以是我们要使MC的x、y坐标的增量要比鼠标点击的地位到MC的间隔小。固然“10”这个数字你也能够改成别的的数字,好比8、9、12、2等等。
我们再来复杂讲讲为何MC活动会呈现缓冲效果。看上图,MC向B点活动不休接近B点时,B点与MC的间隔(targetx-_x)变得愈来愈小,以是MCx坐标每次增添的量(步长)会变得愈来愈小,因此呈现缓冲效果。
以上代码我们还能够写得更标准一些,以便于修正:
onClipEvent(load){
_x=300;
_y=200;
speed=10;
}
onClipEvent(mouseDown){
targetx=_root._xmouse;
targety=_root._ymouse;
}
onClipEvent(enterFrame){
_x+=(targetx-_x)/speed;
_y+=(targety-_y)/speed;
}



总结:这类效果你能够使用于MC的属性:_rotation,_alp

Flash通常也指MacromediaFlashPlayer(现AdobeFlashPlayer)。2012年8月15日,Flash退出Android平台,正式告别移动端。
爱飞 该用户已被删除
沙发
发表于 2015-1-15 21:47:39 | 只看该作者

来谈谈:flash action 详解(10)

Flash插件的最新版本允许设计者控制Box之外的元素和把Flash元素放在HTML或其它元素上面或下面,这就为交互性打开了一个崭新的世界。
乐观 该用户已被删除
板凳
发表于 2015-1-17 17:14:06 | 只看该作者
在与制作传统动画相比较的同时,flash具有便捷、节省人力财力,节约时间、推广方便的许多优势。但与此同时它也具有一点的缺点。
兰色精灵 该用户已被删除
地板
发表于 2015-1-26 20:56:27 | 只看该作者
FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。
深爱那片海 该用户已被删除
5#
发表于 2015-2-5 01:41:20 | 只看该作者
矢量图形相对于位图的另一个优势是可以随意缩放的能力。这是对动画进程的奖赏,对用户来说也是一个很酷的特征。在Flash之前,Web上没有这种功能。
因胸联盟 该用户已被删除
6#
发表于 2015-2-11 02:44:32 | 只看该作者
不过,要说国内在FLASH动画领域做的比较出色的,公认的是广州形动数码科技。
谁可相欹 该用户已被删除
7#
发表于 2015-3-1 20:35:02 | 只看该作者
关于位图和矢量图形的区别,可参看Flash教程。
灵魂腐蚀 该用户已被删除
8#
发表于 2015-3-17 20:09:32 | 只看该作者
Flash插件的最新版本允许设计者控制Box之外的元素和把Flash元素放在HTML或其它元素上面或下面,这就为交互性打开了一个崭新的世界。
蒙在股里 该用户已被删除
9#
发表于 2015-3-25 03:21:32 | 只看该作者
还有,艺术上的优势——各异的风格;创作手法独特;独立性和原创性;拓展出新的表达空间;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 12:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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