Flash AS 实例进阶 图片滚动效果

所属分类: 媒体动画 / Flash教程 阅读数: 106
收藏 0 赞 0 分享

  源文件下载

  >点击查看动画效果< 实例2-5图片滚动

  基本思路

  ① 在 MC 的中心点的左右两侧,同时摆放相同的一组图片,中心点也是首尾相接处

  ② 测得鼠标和场景水平中心点的距离 ,判断 MC 向左或右及以怎样速度运动。

  ③ 当 MC 左端抵场景左端或 MC 右端抵场景右端时,令 MC 回到一定位置,实现持续循环滚动

新知识点

  Stage.width// 场景的宽度,是随意老师教我的,我找半天都没找到。

  Stage.height// 场景的高度,练习要用到。

  MovieClip._width//MC 的宽度。

  MovieClip._height // MC 的高度。

  实例说明

  ①在 MC 注册点的左右都摆放同一组图片,在 主场景中若 MC 运动到边端时刻,即由中心点替代,播放影片时看图片是一致的,但又不是尽头,会形成循环播放的效果。

  ② 取得场景和 MC 的宽度,以进行计算比较,用鼠标偏离场景水平中线的距离作 MC 移动的参数,当鼠标正在此线,数值为 0 , MC 静止不动,距离大运动速度则快。

  ③ 设 2 个条件判断,是在 MC 运动到边端时,重新定位。

  编写动作脚本

  ① 在第 1 帧上输入:


复制代码
代码如下:

  m=Stage.width;// 取得场景的宽度
   n=tu._width/2;// 取得 MC 的宽度的 1/2 的值
   tu._x = tu._x-(m/2-_xmouse)/10;// 将鼠标与水平中心线的差值的 1/10 加到 MC 的位置上,再赋值到新的 MC 位置。
   ② 在第 2 帧上输入:
   if (tu._x>=n) {//MC 左端抵场景左端时
     tu._x = tu._x-n;//MC 重新定位到自身中心点在场景左端
   }
   if (tu._x<=(m-n)) {//MC 右端抵场景右端时
     tu._x = tu._x+n; //MC 重新定位到自身中心点在场景右端
   }

  要点分析

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

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

小结

  本讲语句不多,用最简洁的脚本实现所需效果正是我们学习的方向,课后可以在网上搜索一些图片滚动的源文件进行比较分析,从而开拓出自己的编程思路。

课后练习

  还是老套路:由横向改为纵向,范例效果:

  >点击查看动画效果< 练习2-5   

补充实例

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

  >点击查看动画效果< 补充实例

  源文件下载

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

复制代码
代码如下:

onClipEvent (load) {
   m = Stage.width;
   n = this._width/2;
   x = 1;
}
onClipEvent (enterFrame) {
   this._x -= x; //要向右移动就改"-="为"+=".
   if (this._x>=n) { //向右移动此句起作用
     this._x = this._x-n;
   }
   if (this._x<=(m-n)) { //向左移动此句起作用
     this._x = this._x+n;
   }
}

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

复制代码
代码如下:

on (rollOver) {
   x = 0;
}
on (rollOut) {
   x = 1;
}
on (press) {
   getURL(“https://www.jb51.net”, "_blank");
}

  查看全套"Flash AS 实例进阶教程"教程>>>>。

更多精彩内容其他人还在看

FLASH CLASS的基本编写规范

继续回来写教程。本来不想写这节的,因为这节的内容很多书上或者网上资料都有,而且写的比我要详细正规得多。但后来想想,还是写吧!为啥?凑篇幅呗~啊哈哈~而且后面几节要结合接宝的范例游戏,具体分析它的几个CLASS,所以,还是用一节把CLASS的写法说一下。可能我对CLASS
收藏 0 赞 0 分享

flash教程:使用拆分数字和文字的函数

flash的小函数:拆分数字和文字的函数. 以下为引用的内容: /* * 拆分数字和文字 */ public function splitNS(s:String):Object{ var tNum:String=""
收藏 0 赞 0 分享

通过实例学习Flash AS3.0——案例六

相关文章: 通过实例学习Flash AS3.0——案例五 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下
收藏 0 赞 0 分享

用Flash AS制作逼真的下雨动画效果

Flash教程:用Flash AS制作逼真的下雨动画效果 先看下效果:(附.swf文件) 制作过程 一、新建一图层,大小随意; 二、新建元件(影片剪辑): 1、制作雨滴并下落。使用直线工具(颜色设为灰色,1像素)画一短直线,使用选择工具将直
收藏 0 赞 0 分享

通过实例学习Flash AS3.0——案例五

相关文章: 通过实例学习Flash AS3.0——案例四 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下
收藏 0 赞 0 分享

Flash CS3制作Fla形式的组件

  本文为大家介绍如何制作Flash CS3中的[*.fla]形式的的组件(Component)。这种组件和SWC组件不同,它和CS3自带的组件一样能够双击进入组件里面编辑,是Flash CS3新增加的一种组件形态。下面我们制作一个MyButton组件为例子。   制作步骤:
收藏 0 赞 0 分享

通过实例学习Flash AS3.0——案例四

相关文章:通过实例学习AS3.0——案例三 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。
收藏 0 赞 0 分享

通过实例学习flash AS3.0——案例二

相关文章:通过实例学习AS3.0 --案例一 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。 水平有限,错误难免,欢
收藏 0 赞 0 分享

通过实例学习AS3.0——案例三

相关文章:通过实例学习flash AS3.0——案例二 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知
收藏 0 赞 0 分享

通过实例学习AS3.0

首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。 水平有限,错误难免,欢迎大虾小虾,大鸟小鸟指正。 下面进入正题:
收藏 0 赞 0 分享
查看更多