as3 火燃烧效果实现代码

as3 火燃烧效果实现代码

private function update(e:event):void {
target.filters = [new displacementmapfilter(bmd, new point(), bitmapdatachannel.red,bitmapdatachannel.red, 10, strengh, "clamp")];
offset=offset.add(v);
bmd.perlinnoise(size / 2, size, 3, randomseed, false, true, 1, true, [offset, offset]);
}

main.as文件代码

package
{
 import flash.display.sprite;
 import effects.fireeffect;
 import flash.events.mouseevent;
 import flash.net.navigatetourl;
 import flash.net.urlrequest;
 import flash.text.textfield;
 
 /**
  * ...
  * @author sliz
  */
 public class main extends sprite
 {
  public function main():void {
   addchild(new fireeffect());
   var lable:textfield = new textfield();
   lable.textcolor = 0xffffff;
   lable.selectable = false;
   lable.text = "sliz";
   lable.addeventlistener(mouseevent.click, function():void { navigatetourl(new urlrequest("/space/?534614/")); } );
   addchild(lable);
   lable.x = 370;
   lable.y = 380;
  }
 }
 
}

fireeffect.as代码

package effects
{
 import flash.display.*
 import flash.events.event;
 import flash.filters.displacementmapfilter;
 import flash.geom.*
 /**
  * ...
  * @author sliz
  */
 public class fireeffect extends sprite
 {
  private var bmd:bitmapdata;
  private var target:sprite = createsharp(400, 30,0);
  private var speed:number = math.random() * 4 + 4;
  private var strengh:number = math.random() * 60 + 60;
  private var size:number = math.random() * 17 + 20;
  private var randomseed:number = math.floor(math.random() * 10);
  private var offset:point = new point();
  private var v:point;
  private var w:number = 50;
  public function fireeffect()
  {
   addchild(target);
   addto(target);
   target.x = 0;
   target.y = 200;
  }
  private function createsharp(width:number,height:number,angle:number):sprite {
   var s:sprite = new sprite();
   s.graphics.beginfill(0, 0);
   s.graphics.drawrect( -w, -w, width + 2 * w,  w);
   s.graphics.beginfill(0xffffff);
   s.graphics.drawrect( -w, height, width + 2 * w,  w);
   var filltype:string = gradienttype.linear;
   var colors:array = [0x900000, 0x900000,0xff9900,0xfffd8a,0xffffff];
   var alphas:array = [0,1,1,1, 1];
   var ratios:array = [0x00,0xff/16,0xff*2/6,0xff*2/3, 0xff];
   var matr:matrix = new matrix();
   matr.creategradientbox(width, height, math.pi / 2);
   var spreadmethod:string = spreadmethod.pad;
   s.graphics.begingradientfill(filltype, colors, alphas, ratios, matr, spreadmethod);
   s.graphics.drawrect(0, 0, width, height);
   return s;
  }
  public function addto(target:object):void {
   bmd = new bitmapdata(target.width, target.height);
   v = new point(math.random() * (speed / 4) - speed / 8,math.random() * (speed / 4) + speed / 4 * 3);
   target.addeventlistener(event.enter_frame, update);
  }
  private function update(e:event):void {
   target.filters = [new displacementmapfilter(bmd, new point(), bitmapdatachannel.red,bitmapdatachannel.red, 10, strengh, "clamp")];
   offset=offset.add(v);
   bmd.perlinnoise(size / 2, size, 3, randomseed, false, true, 1, true, [offset, offset]);
  }
 }
 
}

时间: 2024-11-18 03:37:26

as3 火燃烧效果实现代码的相关文章

flash as3.0简单计数器代码

function mc_press(_mc:MovieClip) {         _mc.addEventListener(flash.events.MouseEvent.MOUSE_DOWN,d_f); } function d_f(e:MouseEvent) {         var str:String=e.target.name.slice(0,e.target.name.length-3);         var myclass=getDefinitionByName(str)

Flash AS3.0菜鸟学飞教程代码的位置

早期版本的ActionScript代码可以写在帧.按钮.影片剪辑.as文件等位置,而Flash AS3.0代码的位置发生了重大的改变,只能写在帧及as文件中. 虽然Flash AS3.0支持把代码写在时间轴中,但在实际应用中,如果把很多的代码放在时间轴中,会导致代码很难管理.或者说,用类来组织大量的代码更为合适,因为类代码都是放在as文件中的. 除了把代码放在时间轴上,还可以把代码放在外部文件中,比如,放在服务器的txt文件中,然后把这些外部数据加载到fla文件里. 外部文件代码 以往都是在时间

flash as3.0 跨域的解决办法

    Flash跨域问题相信不是所有人都可以遇到,如果你在本地发布,或者说直接Ctrl+Enter在FlashIDE中预览,是不会遇到跨域问题的,当然,跨域有个前提,那就是Flash不是完全独立的,与外界要做一些通信和交互,如果你的Flash是完全独立的文件,没有和外界发生任何交互和数据通信的话,那么你可以不考虑跨域问题,因为这也不存在跨域问题. 什么是跨域?     跨域简单的说就是访问其他域名的文件或资源,比如a.com的Flash去访问b.com的资源,那么就会引起跨域的问题,因为a.c

程序员必须知道的几个Git代码托管平台(转)

  上一篇博客中2015继续任性--不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平台比较多,而且都是免费的.今天就为大家推荐几款比较火的Git代码托管平台,欢迎大家补充.不过,这里首先来对上一篇的问题进行一些说明.如果大家还有喜欢用SVN的,请参考淘宝code-- 最给力的国内免费SVN(不限语言),异地团队开发.打造个人开源项目不再是梦这篇文章.    一.VS2013中克

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.

如何准确的向工程师传达动效设计?

  随着软件与终端的发展,如今的用户体验设计中动效的作用正变得越发重要,也有越来越多的设计师开始尝试让自己的作品"动"起来.但在实际工作中,相信大家常会有这样的疑问:怎样才能将自己精心设计的动态效果,准确的传达给工程师,避免实现的偏差呢?下面我想根据自己的经验,抛砖引玉,和大家聊一下这个话题. 试想一下,在一个沉静的的夜晚,你正为一个界面的过渡动画而苦思冥想,突然一道灵感之光穿越你的脑海,完美的方案浮现眼前.此刻你最想做的,恐怕不是翻阅开发文档研究实现原理,"老子得立刻把它表

如何显示出Unicode文件中的汉字

问题描述 我想把一个包含汉字Unicode编码的文件uni.txt用Java读取出来,并正确显示中文,请问该如何做呢.我使用FileInputStream和DataInputStream都没有读取成功.请大家指点一下.uni.txt包含这样的内容:table.rows.length; //u8868u683cu603bu884cu6570tableModel_arr[tib].pg.perPageCount; //u6bcfu9875u8bb0u5f55u6570tableModel_arr[t

gopush集群推送兼容ie方案

gopush支持tcp 和 websocket 两种协议,在移动端和新浏览器中,可以用tcp与websocket来解决实时推送,但是ie9以下版本IE浏览器是不支持websocket的,一般都是用长轮训来替换websocket,作者发话说短期内不考虑long-polling方式,这里就用flash的方案解决. 首先需要对gopush进行代码调整,以便适应flash 的安全策略 在web/http.go里面加入  代码如下 复制代码     httpServeMux.HandleFunc("/cr

阿达游戏:缘何产品没上线估值就高达5000万?

近日,顾方成了游戏圈中争议颇多的人,起因是他为三国名相顾雍顾氏后人的消息被传出,而在本月28日,正好有一款叫<阿达三国志2014>的手游要上线.作为阿达游戏的掌舵人,顾方未免有借机炒作之嫌.对此,顾方并不想作太多的回应,表示一切谜底都将在游戏中呈现.其实,相比于顾方这个名字,游戏玩家对"阿达"更为熟悉.早在2003年,连连看红极一时,作为当时唯一一款收费的连连看,阿达连连看以其精良的制作获得了一致好评,甚至就此对连连看进行了重新的定义.也就在那时,被大家昵称为"阿