flash特效原理:图片滑动放大效果
这几天,都在无所事事,唯一寄托就是在这里记录一下自己研究出来的东西。趁现在有点时间,就把最近看过的一种常用的flash特效记录一下,flash 做特效不是为做特效而做,在make thing move 书里讲了许多的数学和物理原理,通过这些原理,我发现做特效就需要懂原理。懂了这些原理后,特效就会变得轻松容易。
现在准备一下,讲求一个公式,这个公式对做这个特效很有帮助。公式如下:
一、基本基本原理公式
x轴:
图片缩放率=最大缩放率-|鼠标的x坐标值-每一张图片的x轴大小|*自定义的比例;
鼠标的x坐标值减去每一张图片的x轴大小的绝对值的差,乘以自定义的比例,然后最大缩放率减去这个值就可以知道结论:
离鼠标越近的图片,缩放比例就会越大,相反离鼠标越远相对缩放率越小。
var scale:Number=max-Math.abs(mouseX-pic.x)*ratio; 这样公式就知道了
简化 scale=max-|mouseX-pic.x|*ratio;
同理:
y轴:
图片缩放率=最大缩放率-|鼠标的y坐标值-每一张图片的y轴大小|*自定义的比例;
二、制作过程
我们制作Mc的时候,Mc里面有一个名为title的动态文本,在其上面铺盖一层透明的色的图像,同时,需要指定底部为注册点,笔者按这种方式处理。然后链接为TestMc 类
库链接图:
三、程序实现
接下来,准备了
现在我们写一个基础类Effect.as。这个特效基础类,可以设置最大放大率,图片间距,和比率
package
{
import flash.display.MovieClip;
import flash.events.*;
public class Effect extends EventDispatcher
{
private var Ratio:Number;//缩放比率
private var Max:Number;//设置最大缩放比率
private var Distans:Number;//图片距离
public function Effect()
{
}
//设置最大的缩放比率
public function set max(value:Number):void
{
Max=value;
}
public function get max():Number
{
return Max;
}
//设置鼠标与图片之间距离的差的绝对值的缩放比率
public function set ratio(value:Number):void
{
Ratio=value;
}
//设置鼠标与图片之间距离的差的绝对值的缩放比率
public function get ratio():Number
{
return Ratio;
}
//设置图片之间的距离
public function set distance(value:Number):void
{
Distans=value;
}
public function get distance():Number
{
相关文档:
经过上面的测试,现在对原先程序进行一些改造可以创建出不错的效果,你会发现每次改动一些参数很多有趣的效果就会出现了。现在我们尝试做一个调节工具对他们的半径,高度,圈数,视角进行创造。这次会主要借助到flash里面 组件包。Slider 组件来帮助我们完成这一次的尝试。
制作过程知道:包括Slider 组件的使用,R ......
微软此次安全建议的立场非常明确,希望确保用户明白,只有在同时使用旧版Flash和旧版Windows时才会出现漏洞,新版Windows均未内置Flash Player。
新浪科技讯 北京时间1月14日早间消息,据国外媒体报道,由于存在多个漏洞,微软周二敦促Windows XP用户尽快升级系统预装的Adobe Flash Player 6.0,manolo blahn ......
我们引用本地flash,实现flash与js双向交互。
function thisMovie(movieName) {
if (window.document[movieName]){
return window.document[movieName];
}else if (navigator.appName.indexOf("Microsoft")==-1){
&nb ......
-------------------后台代码---------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
& ......