征集网锐志网络淘途找素材上91
创意在线首页
平面设计交互设计CG动漫工业设计建筑环境数码影像创意搜
 首页大赛征集资讯教程画廊访谈作品集创企同盟设计招聘人才专区竞赛台专题论吧 找素材看酷站设计网址库
教程网 Illustrator、Photoshop、CoreaDreaw、AI教程、PS教程
当前位置:首页 > 教程 > Flash > 正文
Flash制作红外线引导导弹爆炸视觉效果
作者: 来源: 发表时间:2007-8-20 14:46:35 浏览:
先看效果:(点击鼠标可以看到效果)

  新建立一个文件,按Ctrl+J调整大小和背景色(#999999)和帧频。

Flash制作红外线引导导弹爆炸视觉效果

  然后制作一个红色的小圆影片剪辑作为鼠标的形状,制作一条有色的线条影片剪辑作为导弹,然后再制作一个白色小圆作为爆炸的影片剪辑。

  然后在第一帧加入如下代码。

/* GLOBAL VARIABLES */
_global.gLEFT = 20;
_global.gTOP = 20;
_global.gRIGHT = Stage.width - 20;
_global.gBOTTOM = Stage.height - 20;

/* FUNCTION: Converts radians to degrees */
function rad2deg(radians:Number):Number {
  return radians * 180 / Math.PI;

 
/* FUNCTION: Converts degrees to radians */
function deg2rad(degrees:Number):Number {
  return degrees * Math.PI / 180;
}

/* FUNCTION: Returns a random number between min and max (inclusive) */
function randRange(min:Number, max:Number):Number {
  var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
  return randomNum;
}

/* FUNCTION: Creates an explosion */
explosion.maxSpeed = 25;
explosion.minSize = 4;
explosion.maxSize = 10;
explosion.minFragments = 10;
explosion.maxFragments = 50;
function explosion(originX:Number, originY:Number):Void {
  var totalFragments:Number = randRange(explosion.minFragments, explosion.maxFragments);
  var fragment_mc:MovieClip;
  var depth:Number = this.getNextHighestDepth();
  for (var i:Number = 0; i < totalFragments; i++, depth++) {
    fragment_mc = attachMovie("Fragment", "fragment" + depth, depth);
    fragment_mc._x = originX;
    fragment_mc._y = originY;
    fragment_mc._width = fragment_mc._height = randRange(explosion.minSize, explosion.maxSize);
    while (!fragment_mc.speedX) {
      fragment_mc.speedX = randRange(-explosion.maxSpeed, explosion.maxSpeed);
    }
    while (!fragment_mc.speedY) {
      fragment_mc.speedY = randRange(-explosion.maxSpeed, explosion.maxSpeed);
    }
    fragment_mc._alpha = randRange(10, 100);
    fragment_mc.cacheAsBitmap = true;
 
    fragment_mc.onEnterFrame = function():Void {
      this._x += this.speedX;
      this._y += this.speedY;
 
      if (this._x < gLEFT || this._x > gRIGHT || this._y < gTOP || this._y > gBOTTOM) {
        this.removeMovieClip();
      }
    };
  }
}

/* FUNCTION: Creates and initializes heat-seeking missiles */
createMissile.maxSpeed = 30;
createMissile.accel = 2;
function createMissile(target_mc:MovieClip, xPos:Number, yPos:Number):Void {
  var depth:Number = _root.getNextHighestDepth();
  var missile_mc:MovieClip = attachMovie("Missile", "missile" + depth, depth);
  missile_mc._x = xPos;
  missile_mc._y = yPos;
  missile_mc.speed = 0;
 
  missile_mc.setRotation = function():Void {
    var dy:Number = target_mc._y - this._y;
    var dx:Number = target_mc._x - this._x;
    this._rotation = rad2deg(Math.atan2(dy, dx));
  };
 
  missile_mc.onEnterFrame = function():Void {
    this.setRotation();
 
    if (this.speed < createMissile.maxSpeed) {
      this.speed += createMissile.accel;
    }
    this._x += Math.cos(deg2rad(this._rotation)) * this.speed;
    this._y += Math.sin(deg2rad(this._rotation)) * this.speed;
 
    if (this.hitTest(target_mc)) {
      explosion(target_mc._x, target_mc._y);
      this.removeMovieClip();
    }
  };
}

/* MAIN PROGRAM LOGIC */
var gameBG_mc:MovieClip = _root.createEmptyMovieClip("gameBG", 0);
gameBG_mc.beginFill(0x222222);
gameBG_mc.moveTo(gLEFT, gTOP);
gameBG_mc.lineTo(gRIGHT, gTOP);
gameBG_mc.lineTo(gRIGHT, gBOTTOM);
gameBG_mc.lineTo(gLEFT, gBOTTOM);
gameBG_mc.endFill(gLEFT, gTOP);
 
var target_mc:MovieClip = attachMovie("Target", "target", _root.getNextHighestDepth());
var startX:Number = (gRIGHT - gLEFT) / 2 + gLEFT;
var startY:Number = (gBOTTOM - gTOP) / 2 + gTOP;
startDrag(target_mc, true);
Mouse.hide();
 
onMouseDown = function():Void {
  createMissile(target_mc, startX, startY);
};


在线编辑:morion
本文链接:


推荐阅读:
·2021第十五届“创意中国”设计大奖 征稿章程
·2021第七届“学院派奖”全国艺术与设计大赛征集公告
·青春唯美插画培训网络远程班正在招生
·第八届中国高等院校设计作品大赛启动
·第十二届中国高校美术作品学年展获奖名单公布
·2021第七届“学院派奖”全国艺术与设计大赛征集公告
·第六届“包豪斯奖”国际设计大赛获奖名单揭晓
免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息。对本文有异议,请联络本站!
转载要求:文章作者及来源信息必需保留。转载之图片、文件请不要盗链本站地址,且不准打上各自站点的水印!

近期推荐报道 返回首页更多精彩等着你!

Photoshop| Photoshop快速调出情侣图片柔美的插画艺术| 绝望的小熊—美国插画师Luke
网页设计| 波兰Tiquet网站设计作品欣赏插画艺术| Nanami Cowdroy灵动黑白插画
Photoshop| Photoshop调出美女图片绚丽的橙红HTML/CSS| 实现DIV透明而里面的文字不透明
平面设计| 世界杯之平面广告欣赏插画艺术| Alberto Cerrite&ntil
平面设计| Havaianas人字拖最新平面广告系列网页设计| 英国madefavourite简洁细腻型
关于本站 | 联系方式 | 商业服务 | 合作伙伴 | 站点地图 | 免责声明 | 版权声明 | 在线投稿