注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

清风的博客

我为人人,人人为我。

 
 
 

日志

 
 

as2翘转缩放拖动的制作  

2014-01-30 22:42:06|  分类: 【flash教程】 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
准备一张规格为100*146的照片或图片,经过制图软件(ps、fw)处理后,放在指定的文件夹待用。

    1.启动FLASH8 软件。

    2.确立文档属性 设置动画尺寸为520*550,背景颜色黑绿,其它默认,点击确定,进入场景1。如图1所示:


图1

    3.首先将准备好的素材图片导入到库中,待用。

    4.创建影片剪辑

    选择“插入-新建元件-高级”,如图2所示:

图2

打开元件属性、链接面板,建立一个名为“ball”的影片剪辑元件(链接标识符同名称),属性链接参数,如图3所示:


图3

点击确定,进入元件编辑区。就一个图层。

    选择图层1第一帧,从库中拖出照片到舞台,规格60*88,上对齐-左对齐。如图4所示:


图4

    5.编辑制作场景

    返回场景1,添加两个图层,共三个图层。自下而上命名为照片、文本、as。 

    (1)选择照片图层第一帧,从库中拖出照片位图到舞台,规格520*550,全居中,选中该实例将其转换为图形元件,在属性面板设置其Apha为20%。上锁。如图5所示:


图5

    (2)选择文本图层第一帧,用文本工具在舞台下方输入:“按住每张图片放大 按住最后一张图片可拖动”,水平中齐。上锁。如图6所示:



图6

    (3)选择as图层第一帧,按f9,打开动作面板,在as编辑区输入,如下帧语句:

function start_func()
{
    var i = 0;
    while (i <= 9)
    {
        container.attachMovie("ball", "ball" + i, i);
        container["ball" + i]._x = 225 + r * Math.abs(4.500000E+000 - i) * Math.cos((135 - Math.floor(i / 5) * 180) * 3.141593E+000 / 180);
        container["ball" + i]._y = 225 + r * Math.abs(4.500000E+000 - i) * Math.sin((135 - Math.floor(i / 5) * 180) * 3.141593E+000 / 180);
        container["ball" + i].i = i;
        container["ball" + i].onEnterFrame = function ()
        {
            var _loc2 = new Color(this._mc);
            _loc2.setRGB(Math.random() * 16777215);
            this._x = 225 + r * Math.abs(4.500000E+000 - this.i) * Math.cos((135 - Math.floor(this.i / 5) * 180 + p) * 3.141593E+000 / 180);
            this._y = 225 + r * Math.abs(4.500000E+000 - this.i) * Math.sin((135 - Math.floor(this.i / 5) * 180 + p) * 3.141593E+000 / 180);
            p = p + 5.000000E-001;
        };
        container["ball" + i].onPress = function ()
        {
            var _loc2 = new mx.transitions.Tween(this, "_xscale", mx.transitions.easing.Elastic.easeOut, 100, 200, 1, true);
            _loc2 = new mx.transitions.Tween(this, "_yscale", mx.transitions.easing.Elastic.easeOut, 100, 200, 1, true);
        };
        container["ball" + i].onRelease = function ()
        {
            var _loc2 = new mx.transitions.Tween(this, "_xscale", mx.transitions.easing.Elastic.easeOut, 200, 100, 1, true);
            _loc2 = new mx.transitions.Tween(this, "_yscale", mx.transitions.easing.Elastic.easeOut, 200, 100, 1, true);
        };
        ++i;
    }
}
var r = 45;
var p = 0;
var drag = false;
var num = 0;
this.createEmptyMovieClip("container", this.getNextHighestDepth());
start_func();
var mouseListener = new Object();
mouseListener.onMouseDown = function ()
{
    if (container.ball0.hitTest(_root._xmouse, _root._ymouse))
    {
        drag = true;
    }
};
mouseListener.onMouseMove = function ()
{
    if (drag)
    {
        num = 1;
        delete container.ball0.onEnterFrame;
        container.ball0._x = _root._xmouse;
        container.ball0._y = _root._ymouse;
        for (var _loc2 = 1; _loc2 <= 9; ++_loc2)
        {
            delete container["ball" + _loc2].onEnterFrame;
            container["ball" + _loc2]._x = container["ball" + _loc2]._x + (container["ball" + (_loc2 - 1)]._x - container["ball" + _loc2]._x) / 3;
            container["ball" + _loc2]._y = container["ball" + _loc2]._y + (container["ball" + (_loc2 - 1)]._y - container["ball" + _loc2]._y) / 3;
        }
    }
};
mouseListener.onMouseUp = function ()
{
    drag = false;
    if (num == 1)
    {
        start_func();
        num = 0;
    };
};
Mouse.addListener(mouseListener);

锁定该图层。

    6.该作业完成后的时间轴如图7所示:



图7

    7.测试存盘


 

    *说明:

     1.ball影片剪辑没有进入场景1,它们是通过其属性链接和脚本来控制的。

     2.ball影片剪辑属性链接中的URL,可随便输入一个网页的地址。我用的是我网站的地址。  

最终效果显示:


http://hsb345.16789.net/domName/hsb345/201051213291291390.swf

全屏下载

  评论这张
 
阅读(17)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017