几个图片滚动效果

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

几个图片滚动效果

一、Flash AS图片滚动(鼠标可以控制滚动的方向和速度)。

新知识点:

Stage.width// 场景的宽度。

Stage.height// 场景的高度。

MovieClip._width//MC 的宽度。

MovieClip._height // MC 的高度。

要点分析:

1、图片MC的制作,中心点是该元件的注册点,又是图片首尾交接处,依据这点判断元件位置,在重新定位后又可以保证图片的准确衔接。

2、tu._x = tu._x-(m/2-_xmouse)/10 ,依鼠标在中心点的左侧或右侧及距离的大小,为 MC 设定运动方向及步长。(tu为MC实例名称)

3、制作过程

打开flash,场景4默认,背景为黑色,帧频60。导入10张图片(高180)。插入---新建---影片剪辑---注册点居中,将图片一个接一个的横排列。再将排列好的图片复制,粘贴在先前的图片之后。图片组水平居中。(影片剪辑的总宽度一定要比文档宽度大)

回到主场景,第1层拖入影片剪辑(右齐、垂直居中),实例名称:tu

第二层第一帧输入脚本:

m = Stage.width;//取得场景的宽度

n = tu._width/2;//取得 MC 的宽度的 1/2 的值

tu._x = tu._x-(m/2-_xmouse)/10;//将鼠标与水平中心线的差值的 1/10 加到 MC 的位置上,再赋值到新的 MC 位置。

第二层第二帧输入脚本:

if (tu._x>=n) {//MC 左端抵场景左端时

tu._x = tu._x-n;//MC 重新定位到自身中心点在场景左端

}

if (tu._x<=(m-n)) {//MC 右端抵场景右端时

tu._x = tu._x+n;//MC 重新定位到自身中心点在场景右端

}

在图层1第2帧插入帧。

好啦,测试:(鼠标可以控制滚动的方向和速度)。

二、Flash AS图片匀速滚动(链接)

有更多的时候我们希望有一组图片自动匀速滚动,点击某张图片即进入相应网页,这里用上面脚本作一点改动实现这样的效果。

1、将原来两帧上的语句改写到MC上.

onClipEvent (load) {

m = Stage.width;

n = this._width/2;

x = 5;

}

onClipEvent (enterFrame) {

this._x -= x;

if (this._x>=n) {

this._x = this._x-n;

}

if (this._x<=(m-n)) {

this._x = this._x+n;

}

}

2、分别在各小图上加隐形按钮写脚本,下例是第一个图的按钮上的命令:

on (rollOver) {

x = 0;

}

on (rollOut) {

x = 5;

}

on (press) {

getURL("链接地址", "_blank");

}

这里简单说一下制作:

打开flash,导入几张图片(场景和图片宽、高自定),帧频60。插入---新建---影片剪辑(注册点居中)---将图片一个接一个的横排列

。再将排列好的图片复制,粘贴在先前的图片之后。图片组水平居中。

再制作一透明按钮,放在第1张图片上,在这个按钮上输入代码:按alt键复制盖住所有小图片。分别点击每个按钮,输入脚本:

on (rollOver) { //当鼠标滑过时停止移动

x = 0;

}

on (rollOut) { //当鼠标滑离时开始移动

x = 5;

}

on (press) {

getURL("链接地址", "_blank");

}

复制第1个按钮到第2张图片上,修改第2个按钮的代码中的链接地址。复制第2个按钮到第3张图片上,修改第3个按钮代码中的链接地址......如此这般,为每张图片添加一个隐形按钮,在第个按钮上写代码,代码中一定有getURL行。

将影片剪辑拖入主场景, 点选影片剪辑,打开动作,输入脚本:

onClipEvent (load) {

m = Stage.width;

n = this._width/2;

x = 5;

}

onClipEvent (enterFrame) {

this._x -= x; //要向右移动就改"-="为"+=".

if (this._x>=n) { //向右移动此句起作用

this._x = this._x-n;

}

if (this._x<=(m-n)) { //向左移动此句起作用this._x = this._x+n;

}

}

当然,上面的代码也可以写在帧上:onEnterFrame = function() {

m = Stage.width;

n = tu._width/2;

x = 5;

tu._x -= x;

if(tu._x>=n) {

tu._x = tu._x - n;

}

if(tu._x<=(m-n) {

tu._x = tu._x +n;

}

相关文档
最新文档