(转) [Flash/Flex] 用柏林噪音和滤镜制作翻腾的火焰效果----Flash AS3效应
下图展示的是通过柏林噪声和一些滤镜制作的火焰效果。这个效果是从舞台底部燃起的熊熊烈火。这个效果使用了BitmapData里的perlinNoise方法,以及ColorMatrixFilter和DisplacementMapFilter两个滤镜,点击截图下面的链接,可以在新窗口中查看运行的效果。
http://www.flashandmath.com/flashcs5/fire/fire.html
http://files.cnblogs.com/wonderKK/fire.zip
点击上面的链接下载完整的源文件,源码中已做好注释,也可以在源码的基础上轻松的自定义效果。
效果是如何实现的
效果实现的基本思路是通过柏林噪声实现扭曲而不是柏林噪声显示。柏林噪声扭曲效果随着时间平滑的移动。在AS3Flash: Low CPU Clouds Animation - Perfect for Mobile effect这个效果中,我们同样使用了这个思想。在ScrollingPerlinNoise类中,我们创建了一个准确的柏林噪声扭曲效果,然后利用bitmap复制方法随着时间平滑的移动这个扭曲效果,这一点跟clouds效果里一样。
下面一步步介绍了火焰的制作过程,不过你也可以打开源文件,体验一下效果,这样目的会更加明确。在main.fla中的onEnter方法中,可以看到绘制和滤镜的每个步骤,这些也已做好注释。
下面是火焰效果创建的详细步骤:
· ScrollingPerlinNoise类的两个实例(我们叫做“clouds”)用来创建火焰。它们是随时间移动的灰度的柏林噪声。这两朵clouds会以不同的方向进行移动,来产生分散的移动的效果。实际上一朵clouds也是可以的,但是用两朵clouds实现的火焰效果会更好。
· 在火焰中绘制一个用渐变填充的半椭圆形,让它的顶部更加圆润,而且平滑的淡出。
· 现在给灰度的图片加上火的颜色。这一点我们通过BitmapData的palleteMap方法来实现,这和我们在中AS3WoodTexture Class - Apply Wood Texture to Any Display Object example实现木质纹理的方法是一样的。但是在这个效果中我用了一个比较聪明的方法,用ColorMatrixFilter滤镜将颜色转换成红黄白。ColorMatrixFilter在颜色通道值基础上,与它的multipliers和offsets属性进行计算得到最终的颜色值。深灰色转换成红色;灰色转换成黄色,因为红色和绿的混合;浅灰色转换成白色,因为颜色通道里的值都已经被加到最大值255了。
· 给clouds填充完颜色红,我为它添加了模糊效果,特别是在y方法模糊值更大,整页可以将颜色延伸到整个图片。
· 然后使用DisplacementMapFilter扭曲火焰,让效果更加逼真。DisplacementMapFilter应用于另外一个ScrollingPerlinNoise实例中。因为clouds的不断移动,扭曲效果会随时间不断变化。
· 最后,再加另外一个小小的模糊给火焰效果做一下润色。
绘制和滤镜的步骤看起来非常复杂,但是它只是诸多滤镜和柏林噪声试验效果之一,试着修改一下源文件,看看你能否发现其他更好的效果。
原文链接:http://www.flashandmath.com/flashcs5/fire/index.html
转载于:https://www.cnblogs.com/wonderKK/p/3440782.html
(转) [Flash/Flex] 用柏林噪音和滤镜制作翻腾的火焰效果----Flash AS3效应相关推荐
- Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动
对于从Sprite类继承来的对象,要实现拖放当然是Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag) 里讲的方法最方便,但是对于不是从Sprite类继承得来的对象, ...
- [轉]Flash/Flex监听浏览器的关闭事件
FROM : http://blog.ityao.com/archives/581 如果想用Flash/Flex监听浏览器的关闭事件, 可以通过JavaScript的window.onbeforeun ...
- flash/flex基础发展区别等
原文地址:https://blog.csdn.net/xygg0801/article/details/53323136 很好的一篇文章 博主总结了很多资料 本文和大家重点讨论一下Flex和Flash ...
- Flash, Flex, Air, Flashplayer之间的相互关系是什么
Flash, Flex, Air, Flashplayer之间的相互关系是什么? 著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:曾嵘 链接:http://www.zhi ...
- AMFPhp与Flash||Flex 的交互后——台技术区分类导航
2010-12-03 21:07 http://bbs.9ria.com/redirect.php?tid=57798&goto=lastpost php简介及学习方法 [转载]PHP大潮将至 ...
- 浅谈 Flash/Flex/HTML5 技术选型
在HTML5发布以前,RIA领域的技术解决方案一直相都是各展所长,并无争议.Adobe体系中,Flash做不了的事情,Flex可以做到:.Net系决策者在选用RIA解决方案时,Silverlight是 ...
- Unity中利用柏林噪音生成随机地图
利用柏林噪音生成随机地图<2/2/2018> 什么是柏林噪音?(请自行百度)Perlin噪声 ( Perlin noise )指由Ken Perlin发明的自然噪声生成算法 . 原理学习可 ...
- Flash/Flex学习笔记(51):3维旋转与透视变换(PerspectiveProjection)
Flash/Flex学习笔记(49):3D基础 里已经介绍了3D透视的基本原理,不过如果每次都要利用象该文中那样写一堆代码,估计很多人不喜欢,事实上AS3的DisplayObject类已经内置了z坐标 ...
- Flash和HTML5那点事:后者拿什么取代Flash?
感谢匿名人士的投递 新闻来源:so雷so昏 最近关于HTML5 吵得火热,很多人认为HTML5出现会秒杀Flash,以至于在各大web前端开发论坛吵得不可开交.论坛里三言 两语说的不够 尽兴,只好在自 ...
最新文章
- centos 安装java web_centos6.9 安装JAVA-WEB环境
- 公司各个阶段 CTO 需要做什么?(下篇)
- 创建一个自定义颜色IRgbColor
- 8.2 动力系统的贝叶斯推理
- MFC类中获得其它类指针
- OpenGL RGTC Compressor压缩实例
- VirtualBox Network设置的NAT和Bridged Adapter模式区别
- 算法-排序-归并排序
- mysql连接idea详细教程_idea配置连接数据库的超详细步骤
- MFC实现 MSN QQ 窗口抖动
- Eclipse开发Android常用快捷键
- pythonassert关键字_Python assert 关键字
- R语言空间插值的几种方法及案例应用
- 第五模块 常用邮件沟通场景(1):求职信
- Fruits 360(水果数据集)
- 微软漏洞导致SQL注入威胁
- (一)来自 192.168.xx.xx的回复: TTL 传输中过期。
- 淘宝如何打造承载亿级流量的首页?
- Python 文件IO操作
- 自我评价范文计算机专业,计算机专业学习的自我评价范文
热门文章
- uniApp 自定义分享到微信、朋友圈
- 华为MateX5G折叠屏手机正式发售的意义
- Description	Resource	Path	Location	Type Target runtime Apache Tomcat v8.0 is not defined.
- ac电源测试系统生产厂家-ac电源测试系统厂家-ac电源测试设备厂家NSAT-8000
- MAC在终端用subl打开文件
- python输出进度条 tqdm_tqdm:Python 进度条
- 医惠护理系统服务器错误,产品解读|医惠移动护理信息系统的创新应用
- 柔性制造方式的建立(zt)
- access如何保存小数点后_1英寸多少毫米,英制图纸如何快速转公制,转换后小数点怎么处理...
- 李硕:周灭商之惊心动魄超乎想象!