几个图片滚动效果
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;
}