`
zhongzhihua
  • 浏览: 313307 次
  • 来自: ...
社区版块
存档分类
最新评论

全新Flash镜头的控制处理

阅读更多
  前言: 该教程介绍了一种有别于传统的Flash镜头控制方式, 其原理简单但确能在某种程度上提高工作效率, 增加动画的可看性, 让一个动画同时拥有不同角度的”拍摄”方式.那么就请先看以下示例:

/UploadTeach/200710/20071010163852111.swf
乍一看好似也看不出什么端倪, 无非就是过渡时多了双向缓冲罢了, 其实在这个动画中我并没有对图片作任何移动或缩放, 唯一处理的是一个称为”camera”的影片剪辑, 如下:

/UploadTeach/200710/20071010163920165.swf
在影片中单纯的控制镜头的行为, 然后输出动画的时候, 动画的内容就是镜头内的内容.

有兴趣的直接进入教程内容
(注意: 教程对于初级的操作将不做多d 说明和截图, 如果是初级用户请先熟悉Flash一段时间再来学习此教程, 另外出于版本原因, 这里只提供Flash8.0版的源文件, 低版本的建议升级, 如真有需要低版本的源文件, 请E-mail联系: imo8@163.com)

一: 普通用户
对原理没什么兴趣的或AS掌握不多的, 我们直接打开原代码, 我来说明下如何使用即可.
[源文件下载]: mzs.rar

打开源文件, 你可以大致了解一下, 内容和元件不多, 看一看其实就知道该怎么操作了.
当你要作自己的动画的时候, 具体操作如下:
1: 更改场景大小, 情况自定
2: 打开库(顺便查看下库里的文件), 双击”镜头”, 更改镜头大小, 与场景相同, 并且居中对齐
3: 返回场景, 解开遮罩锁, 居中遮罩层的镜头,移动”影片载体”, 使蓝色区域与场景重合(用边框模式查看, 方便对齐)
4: 打开库, 双击”影片内容”, 这里就是主要动画的编辑位置了
5: 在场景中, 镜头可根据情况和需要进行操作, 亦可删除, 结合使用, 没有一定的方式, 毕竟制作动画的类型和情况很多, 这只是一种选择方式, 至于适不适合还是依个人情况而定,更多的还是习惯问题…

二: 进阶的使用, 多镜头处理
这是这个镜头控制最有趣的地方了, 当你对源文件的AS作了初步了解的时候, 你会发现其实都是很基础的AS, 唯一的关联就是镜头”camera” , 那么如果我在动画中使用的多个镜头, 比如”camera1” “camera2””camera3”…
那么只要定义一个全局”camera”, 就可以随意的在动画中变换镜头了, 具体请查看下面这个flash:
[鬼斗测试版右键下载](建议下载后观看,否则后果自负…)
(播放片头动画的时候按”空格”可跳过, 然后在格斗过程中按”C”切换镜头, Fast!! )

/UploadTeach/200710/20071010164041977.swf
当然这还不是应用的典范, 典范就等着大家去创造了!!

在源文件中修改很简单, 使用eval 函数, 如果对eval函数不了解的下面有简单介绍:
1: 由于镜头的命名方式是camera1,2,3…所以就在主时间轴的帧上定义一个came , 作为数字1,2,3…的代号
2: 修改影片载体和影片内容上的AS ,如下:
影片载体:
onClipEvent (enterframe) {

setProperty(this, _xscale, 10000/getProperty(eval("this.all.camera"+_root.came), _xscale));

setProperty(this, _yscale, 10000/getProperty(eval("this.all.camera"+_root.came), _yscale));
}
影片内容:
onClipEvent (EnterFrame) {
setProperty(this, _x, -getProperty(eval("this.camera"+_root.came), _x));

setProperty(this, _y, -getProperty(eval("this.camera"+_root.came), _y));
}
3:可根据不同情况去定义came,
例:
came = 1 ; 就是使用镜头1;
came = random (3)+1;
就是随机镜头;
也可以用按钮控制镜头, 或者AS控制. 记得控制的是 _root.came ;

三: 进阶的基础上再进阶, 不同镜头在不同时间点上的切换
假设一个动画的某场景中有2个人物, 画面出现有20帧, 然后有2个镜头(camera1, camera2), 一个对准左边的人物, 一个对准右边的人物, 然后镜头1控制左边的人物20帧后, 要使镜头2再次控制右边的人物20帧, 这时就要在第二十帧加入代码:
//假设该场景出现的帧是40;
gotoAndPlay(40)

_root.came = 2
如果单纯这样的话, 那动画不就进入无限循环了, 那就再想个方法吧:
在本时间轴上定义一个数: ova = 1; 然后在第60帧添加代码:
if (ova == 1) {
_root.came = 2

gotoAndPlay(20);

ova = ova+1;
}
这样动画就只会循环1次而已, 因为判断条件是ova == 1, 而第二次回来的时候ova已经 ==2 了

以上就是该”镜头”的使用方式了, 至于还有没有更多的拓展性, 就看大家的巧思了!!

--------*关于eval函数--------------------------------------------------------------
其实AS我也是自学的, 算基础型的吧, 所以复杂的不会, 更多的是变相的搭配, 从0到如今的过程中自然会遇到很多问题, 每一次的突破就是一次进步, 所以致所有Flash初级爱好者, 别异想天开的希望有人能教你, 这个自学的过程所必经的, 如果走不了, 过不去, 那玩玩就好, 别当真啊…哈哈…(自学在于书本以及网络上的教程以及实践)
eval: 针对含有变量的表达式的引用, 中阶用户在AS上经常会遇到相对路径, 绝对路径, 相对引用等问题, _root, _parent, “mc_name”等…当mc_name中包含变量, 比如: 当came为动态变量时, 用以下方式将无法得到正确引用;

came = random(3)+1 //时间轴
setProperty(_root.camera+_root.came , _x, 300) //某MC上的命令, 以前我就陷入了这个僵局, 后来意外看到eval函数,才…)

对于路径中含有多字符串组合的, 应采用eval(“_root.camera”+_root.came)的格式来返回正确的目标路径
(解释可能不怎么清楚, 或有误点, 自己看自带的help 慢慢体会吧, 自学AS最好的方式还是Flash的自带help)

最后提供一个说明性较强的源文件, 还不了解的同学就下载来多学习研究吧 ,希望我的这个小教程能对你有所帮助.
[源文件]: yzs.rar
分享到:
评论

相关推荐

    Flash动画短片 源代码 经典 经典 经典

    4. **音频与视频集成**:Flash可以嵌入和控制音频及视频,源代码中可能包含处理音频和视频播放的代码,这对于多媒体项目的开发至关重要。 5. **事件处理**:源代码中的事件监听器和处理器展示了如何响应用户操作,...

    TMS320F2812与FPGA配合实现光学镜头的控制

    通过深入理解光学镜头控制的基本原理,结合TMS320F2812的强大处理能力和FPGA的高速数据处理特性,我们得以构建出一套稳定、高效、灵活的光学镜头控制方案,为现代光学系统提供了强有力的技术支持。

    Flash动画制作经典实例

    在Flash中,这可能涉及到位图的处理和动画效果的结合。 "百叶窗效果"是一种常见的动画效果,常用于页面加载或内容显示的过渡,通过控制不同部分的显示顺序,营造出窗口百叶窗帘逐渐打开的感觉。 压缩包内的源码...

    氏量Flash MV短片源码素材.rar

    【描述】中提到,这个压缩包内含丰富的Flash设计技巧,这可能包括时间轴控制、动作脚本编程(AS2或AS3)、图形动画、音视频处理、用户交互等方面的内容。Flash MV短片通常结合音乐和动态图像,因此源码中可能会有对...

    Flash光圈、光晕效果 素材源码.rar

    这个名为"codesc.net"的压缩包文件很可能包含了一系列ActionScript代码,这是Flash编程所使用的语言,用于控制动画、响应用户交互以及处理各种视觉特效。ActionScript允许开发者创建复杂的动态内容,包括光圈和光晕...

    Flash 8 标准教材

    这个章节会介绍变量、数据类型、运算符、控制流程语句(如if语句和循环)以及函数的使用,这些都是编写脚本的基础。 Lesson13则深入到元件与库的管理。元件是Flash中可重复使用的设计元素,如按钮、影片剪辑等。这...

    flash放大镜

    1. **ActionScript**:ActionScript是Flash中的编程语言,用于控制动画和交互。在这个项目中,我们需要编写ActionScript代码来实现放大镜的逻辑,如鼠标追踪、放大区域的计算以及图像的实时缩放。 2. **图形与矢量...

    你怎么舍得我难过 flash动画

    ActionScript是Flash平台上的脚本语言,允许开发者创建动态内容、实现用户交互和控制动画流程。MAV可能是指在特定场景下使用的一系列ActionScript命令,用于创建特定的动画效果或行为。掌握MAV技术,意味着你需要...

    flash动画概论——flash做动画必备

    具体步骤包括:确定剧本与分镜头脚本、设计动画角色、绘制分镜头画面、进行动画绘制、导入Flash软件制作,最后进行剪辑和配音。 ### 四、影片制作过程 动画影片的制作大致分为六个步骤: 1. **剧本与分镜头脚本**...

    flash网站绝对精美放大镜源文件

    在Flash中,这可以通过ActionScript编程实现,ActionScript是Flash的内置脚本语言,用于控制动画、处理用户输入等。 JS特效与Flash特效的结合是现代网页开发的一个趋势。JavaScript,作为网页的客户端脚本语言,...

    flash动画公益广告

    3. 图层:类似于透明胶片,每个图层可以独立控制帧中的内容,便于管理和编辑复杂场景。 4. 关键帧:标记了动画变化的关键状态,中间的帧则通过补间动画自动创建过渡效果。 二、动画设计原理 1. 动画原理:遵循“12...

    Flash动态立体隧道制作(word文档)

    接着是详细设计和编码,这涵盖了帧的处理技术,如形状补间动画的创建,以及如何处理图片以达到预期的动态效果。在实际操作中可能会遇到帧复制错误、图片移动问题、关键帧设置不当、图层排列和音轨同步等问题,需要...

    FLASH动画 年年有鱼.docx

    Flash是一种强大的创作工具,它集动画制作、视频处理、交互式内容设计于一体,广泛应用于网页设计、教育课件、游戏开发等领域。《年年有鱼》这部Flash动画正是利用了Flash的特性,将中国传统寓意与现代动画技术相...

    放大镜移动放大文字flash动画特效

    放大镜效果在Flash中主要通过ActionScript(AS)编程语言来实现,ActionScript是Flash的内置脚本语言,用于控制动画行为和与用户交互。在这个特效中,首先我们需要创建一个舞台上的主对象,即放大镜,通常是一个带有...

    Flash竞赛创意题.doc

    7. **技术细节**:使用Flash软件时,熟练掌握各种工具和功能,如时间轴控制、层管理、形状补间和动作脚本等,都是提高作品质量的关键。合理运用这些技巧可以使动画更加生动有趣。 8. **色彩搭配**:色彩的运用需要...

    flash全景展示代码下载,最新效果最好[2010热门]

    开发Flash全景展示时,开发者需要考虑性能优化,因为全景图像通常较大,可能会对页面加载时间和用户设备的处理能力造成影响。此外,考虑到不同用户的浏览器和设备兼容性,开发者还需要确保代码能够适应多种环境。 ...

    flash初学者必练的上机项目

    6. **声音与视频处理**:Flash不仅可以制作动画,还能嵌入和处理音频和视频。学会导入、同步和控制媒体,可以为你的项目增添多媒体元素。 7. **发布与导出**:最后,你需要知道如何正确地导出你的项目,使其能在...

    Flash网站的制作.pdf

    本教程旨在深入解析Flash网站的制作流程,通过实际操作步骤,帮助学习者掌握Flash的基本技巧,包括大场景控制、动画制作、动态按钮、图层管理、超链接创建、表单构建以及ActionScript编程等核心知识点。 首先,我们...

    详细的flash MV(废墟之城)

    【标签】"flash mv" 是对这个压缩包内容的分类,表明了其核心是与Flash相关的多媒体内容,特别是以MV(Music Video,音乐视频)的形式呈现,这通常涉及到Flash的时间轴控制、动画帧序列、元件库的使用、声音同步以及...

Global site tag (gtag.js) - Google Analytics