AS3 Flash:控制复杂变化,防止不确定操作行为对变化的干扰

当你用千奇百怪的方式中断了一个变形变化(tweened motion),那么在消除干扰,继续其后续的变化方面可能会有点棘手。在这个例子里我们将展示如何获得来自复杂变化(multiple tweens)平滑而又合理的回馈。点击这里在新窗口查看效果。

源文件下载
变化的控制机理
请看包里tweencotrol.fla文件里的时间轴代码注释,了解它是如何通过调节卡片运动和卡片对鼠标反应之间的关系来管理复杂变化的。基本构思如下:
•        当一个变化需要被中止的时候,必须要用到Tween.stop()方法。
•        否则,事件TweenEvent.MOTION_CHANGE 和TweenEvent.MOTION_FINISH会不断触发,甚至在你的tween变量被赋予了新值之后也是如此。
•        在停止变化后根除所有变化事件的监听器。否则在变化过去之后监听器都会一直逗留,可能会出问题。
•        把变化的属性值储存在某个变量里以供延续平滑变化之用。

透明对象将保持对鼠标动作的反应
范例里还有一个技巧会让你觉得很有用——那就是创建一个透明对象不可见的同时保持对鼠标的敏感。上边一行的卡片响应ROLL_OVER 和ROLL_OUT事件。为了让ROLL_OUT事件既不因卡片旋转也不因鼠标移走而执行。我们把前边的两张卡放进相应尺寸的Sprite容器里,我们在那些容器里画了透明背景。这样,容器就能反应鼠标动作而且透明如昔。对ROLL_OVER and ROLL_OUT的监听器附着在容器上而不是卡上。因此,除非用户把鼠标从卡片的区域移走,ROLL_OUT事件将不会触发。

名为CardRotator的AS3定制类
在我们的示例里,我们使用了可以进行深度排列以及翻转舞台上的任意卡片的定制CardRotator类,这个类还可以进行任意透视和投影设置。这个类并不是用在解决变化控制问题上的,它只是刚刚好给了一个好看的例子而已。这个CardRotator类已经在我们的教程Z-Sorting of a 3D Card and the Projection Center in Flash CS4.里介绍和讨论过了。

3D对象的模糊特效
你可能会注意到3D卡片的边缘比储存在Library里的对应2D卡片要少了些”锋芒”。那要归功于有名的3D对象模糊特效。这个特效可以用来做很多文章,最近我们就将提交一个有清晰边缘3D对象的新版本CardRotator类。这个版本将以我们这个教程介绍的技术为基础:Simple and Sleek Solution to Blurring of 3D Objects in Flash Player 10.

时间: 2024-11-02 09:12:33

AS3 Flash:控制复杂变化,防止不确定操作行为对变化的干扰的相关文章

用flash控制全景播放

控制 很多多媒体制作爱好者总是在不断创新,尝试将各种多媒体元素结合到一起来作出效果令人炫目的作品. 本文将要介绍的是如何在在flash中插入全景,利用flash的控制来实现全景的播放.场景切换等动作. 首先说明一下,用flash控制全景,需要本身全景播放器提供一个编译接口,所以这里以杰图漫游大师为例,漫游大师播放器提供了用javascript控制播放的脚本. 详细的脚本可以查看该软件帮助文档或者到杰图网站下载. 以 zoomin (也就是放大)功能为例: zoomIn public void z

Flash控制SWF大小实例教程解决方法

  1.图片处理不当,把很大的图片拿到FLASH里面去缩小到自己需要的大小,正确的做法是你需要多大的图片就在PS里面处理好,保存为PNG格式的. 2.矢量图太复杂,比如剪纸效果的.原则上能用矢量的都用矢量,这样文件会小很多,但是对于边缘太复杂的我们宁可用位图反而会更小.也正因为如此,所以圆体文字比正体文字要大,另外把文件打散比不打散要小. 3.嵌入字体,这样会让文件大很多.所以在使用输入文本动态文本的时候少使用生僻字体.特别是汉字,因为数字跟英文的话,只需要嵌入26个字母跟10个数字就可以了.

Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解)

Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解) 播放器 版本 11.2以后支持右键菜单屏蔽及自定义菜单 1.更新播放器 ,11.2 以上版本 http://download.macromedia.com/get/flashplayer/updaters/11/playerglobal11_3.swc http://download.macromedia.com/get/flashplayer/updaters/11/playerglob

flash控制mc移动,为什么移动一段时间后按钮就直接无效了

问题描述 flash控制mc移动,为什么移动一段时间后按钮就直接无效了 代码贴下:import flash.utils.Timer;import flash.events.TimerEvent;var timer:Timer = new Timer(40); //100毫秒一跳var i:Number = 0;timer.stop();background.stop();timer.addEventListener(TimerEvent.TIMERrun);function run (e){ i

actionscri...-AS3 Flash 全屏问题。

问题描述 AS3 Flash 全屏问题. AS3写的一个Flash player的demo,里面有设置全屏,但点击后,会出现另外一个Adobe的页面,似乎是想全屏的效果,但没有任何图像,只有一句按esc退出全屏,非全屏的视频页面还在,并且还在播.为什么会这样?该怎么办? 解决方案 FLASH AS3全屏类 演示代码:package {?import flash.display.MovieClip;?import flash.display.Sprite;?import flash.events.

基金业的变化也随六月的天气一样变化惊人

六月--入夏之时,基金业的变化也随六月的天气一样变化惊人! 虽然新基金法的实施带给行业更多的期待和憧憬,但6月基金行业的突变却让众多市场人士始料未及.其中,余额宝的正式上线,赚足了市场眼球,不仅给基金股东方的股价带来立竿见影的效果,也让基金公司获得了更多的实惠.不过,余额宝在上市8天后即被证监会点名,却必须引起市场反思,如何在规范有续中推进,才是良性发展的长久之计. 6月13日,天弘基金与支付宝合作推出余额宝,一上线就在业内掀起一阵热潮,基金在渠道创新上又往前走了一大步.随后,不少基金公司跟进与

FLASH控制动画声音的停止和播放

  今天有闪友问到如何控制AS3中的声音问题,用下面的小实例说明: /* As3Sound.as */ package { import flash.display.Sprite; import flash.events.*; import flash.media.Sound; import flash.media.SoundChannel; import flash.net.URLRequest; import flash.utils.Timer; import flash.text.Text

Flash cs3仿真艺术设计2.1:位图的变化和扭曲

变化和扭曲 压扁,拉伸,凸出,弯曲,扭曲,旋转,倾斜,变形-这些普通的变化是在做什么? 暗示:它并不是你感觉那样,次等的烤豆饼你知道你不会吃的.回答:它是自由变换工具,这个Flash提供的高效和功能强大的工具,它将是你每天动画设计工作的工具之一. 自由变换工具是真正的瑞士军刀,它允许你对矢量图形.元件实例.导入的图象和分离的文本进行很多的变化.本章将致力于自由变换工具的多种功能和如何将它应用到你的图象. 2.1 扭曲位图 对于一个设计师和动画绘制者来说,自由变换工具是Flash最常用的工具之一.

[AS3]Flash与后台数据交换四种方法整理【转】

随着Flash Player 9的普及,AS3编程也越来越多了,所以这次重新整理AS3下几种与后台数据交换方法. 1.URLLoader(URLStream) 2.FlashRemoting 3.XMLSocket(Socket)  4.FMS/FCS 一.URLLoader(URLStream)篇 URLStream和URLLoader中URLLoaderDataFormat.BINARY类似,它提供对下载 URL 的低级访问方式,我在此不再重复了,有兴趣的,可以看Flash帮助中URLStr