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和旧版Windows时才会出现漏洞,新版Windows均未内置Flash Player。
新浪科技讯 北京时间1月14日早间消息,据国外媒体报道,由于存在多个漏洞,微软周二敦促Windows XP用户尽快升级系统预装的Adobe Flash Player 6.0,manolo blahn ......
-------------------后台代码---------------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
& ......
Flash 嵌入的问题论坛中有人问了好多次,到底应该怎么用,为什么通不过验证,要通过验证怎么办等等等。
讨论中也出现了不少的误解,所以我单开一个帖总结一下我所知道的东西,不想看我罗嗦的直接跳到最后看结论就可以了。
一、传统的方法
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
&nbs ......
笔者经过长时间的使用,总结了几条为Flash减肥的小技巧,希望与各位闪客们分享。
1、尽量减少文字的叙述。
2、应尽量把图画转为“电影剪切”或“图形”。
3、导入的图片格式最好是*.jpg或*.gif图片格式。
4、如果需要导入音乐文件,最好是*.MP3,这样你的源代码不会太大。
5 ......
Main.cpp (Win/*nix)
#include "FlexSecurityBox.h"
int main(int argc, char ** argv) {
char * address;
short port;
if (argc == 2)
{
address = "0.0.0.0";
port = atoi(argv[1]);
} else if (argc == 3)
{
address = argv[1];
port = atoi(argv[2]);
} else
{
printf("Y ......