兰色精灵 发表于 2015-1-15 20:47:58

带来一篇Flash AS3教程:制造鼠标感到图片动弹-Flash实例教程

若你要观看网页上的多媒体内容,flashplayer几乎是网络上的标准。为此播放器所制作的动画或图像十分常见。
poluoluo中心提醒:FlashAS3教程:制造鼠标感到图片动弹.
  实例效果是图片在一个程度面上绕Y轴一圈,并用鼠标把持这些图片绕轴扭转.
  图片分列情况

  详细步骤:
  起首创建一个影片,然后创立一个2帧的影片剪接元件picBox,在第一帧设置stop()代码,并为该影片创立毗连类名picBox.以下图



  好,完成下面后在同目次下新建一个剧本文件picBox.as
  package{
  importflash.display.MovieClip;
  importflash.display.Loader;
  importflash.net.URLRequest;
  importflash.events.Event;
  importflash.events.MouseEvent;
  importflash.net.navigateToURL;
  //界说类picBox:这是一个画框,完成了三维坐标转化为二维坐标,还撑持鼠标事务
  publicclasspicBoxextendsMovieClip{
  //界说属性
  publicvartx:Number;//三维空间之x坐标
  publicvarty:Number;//三维空间之y坐标
  publicvartz:Number;//三维空间之z坐标
  publicvarangle:Number;//工具在圆周上散布的弧度
  publicvarradius:uint;//圆弧的半径
  privatevarloadPic:Loader;//用于导进内部图象
  //机关函数:导进图象
  publicfunctionpicBox(picURL:String){
  loadPic=newLoader();
  varurl:URLRequest=newURLRequest(picURL);
  loadPic.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded);
  loadPic.load(url);
  }
  //导进图象,注册画框工具上的鼠标事务
  privatefunctionloaded(e:Event){
  //调剂图象巨细,稍小于画框
  e.target.content.width=100;
  e.target.content.height=120;
  //定位图象
  loadPic.x-=100/2;
  loadPic.y-=120/2;
  this.addChild(loadPic);
  //注册画框工具上的鼠标事务
  loadPic.addEventListener(MouseEvent.MOUSE_OVER,overHd);
  loadPic.addEventListener(MouseEvent.MOUSE_OUT,outHd);
  }
  //滑过画框,边框变色
  privatefunctionoverHd(e:MouseEvent){
  this.gotoAndStop(2);
  }
  //滑出画框,边框恢复
  privatefunctionoutHd(e:MouseEvent){
  this.gotoAndStop(1);
  }
  //依据变更后的角度和焦距盘算二维的舞台坐标
  publicfunctiondisplayPane(spin,focalLength){//参数:角度偏移量,焦距
  //盘算新角度,并求新的空间坐标
  varcurrAngle:Number=angle-spin;
  tx=Math.cos(currAngle)*this.radius;
  tz=Math.sin(currAngle)*this.radius;
  //盘算比率:画框工具离察看者由近~远-(-150,150),scaleRatio取值-
  varscaleRatio:Number=focalLength/(focalLength+tz);
  //依据比率盘算并设置立体坐标地位、巨细比例
  this.x=tx*scaleRatio;
  this.y=ty*scaleRatio;
  this.scaleX=this.scaleY=scaleRatio;
  //把持画框在y=0的地位翻转
  this.scaleX*=Math.sin(currAngle);
  //再次翻转,使图片位于后面时不是反图
  this.scaleX*=Math.sin(currAngle);
  }
  }
  }
  然后再新建一个main.as,并在影片文件设置文档类名main
  package{
  importflash.display.Sprite;
  importflash.events.Event;
  //界说文档类:创立画框工具,匀称散布在假造的y=100立体上并依据鼠标地位产生扭转
  publicclassmainextendsSprite{
  //界说属性
  privatevarpicnum:uint=8//画框数目
  privatevarpics:Sprite=newSprite();//包容画框,在个中假造的y=100立体上散布
  privatevarpicBoxArr:Array=newArray();//画框的援用数组
  privatevarspin:Number=0;//角度偏移量
  privatevarfocalLength:uint=500;//焦距
  privatevarangleStep:Number=2*Math.PI/picnum;//画框散布时,间距角度
  privatevarzArr:Array=newArray();//暂存画框工具及tz值,用于从头调剂地位索引
  //机关函数:在年夜容器pics内创立画框,并分派初始值
  publicfunctionmain(){
  //定位年夜容器到舞台
  pics.x=270;
  pics.y=80;
  addChild(pics);
  //创立画框工具并增加到年夜容器内
  for(vari:uint;i<picnum;i++){
  //画框上待显现的图象路径
  varpic:String="picimage"+i+".jpg";
  //创立画框工具
  varnewBox:picBox=newpicBox(pic);
  //初始化工具的属性
  newBox.angle=angleStep*i;
  newBox.radius=150;
  newBox.tx=Math.cos(newBox.angle)*newBox.radius;//利用圆的参数方程盘算坐标
  newBox.tz=Math.sin(newBox.angle)*newBox.radius;
  newBox.ty=100;
  //将新工具援用保留在数组
  picBoxArr.push(newBox);
  pics.addChild(newBox);
  }
  //在年夜容器上注册ENTER_FRAME事务,随时改动角度从而产生扭转
  pics.addEventListener(Event.ENTER_FRAME,panCamera);
  }
  //ENTER_FRAME事务处置函数,挪用画框工具的displayPane办法,改动本身地位
  privatefunctionpanCamera(e:Event){
  //依据鼠标地位调治角度偏移量
  spin+=(mouseX-stage.stageWidth/2)/2000;
  //改动画框工具的坐标
  for(vari:uint;i<picBoxArr.length;i++){
  picBoxArr.displayPane(spin,focalLength);
  }
  //从头分列工具的地位索引
  replace();
  }
  //从头分列工具的地位索引
  privatefunctionreplace(){
  //暂存各工具援用及z轴地位信息
  for(vari:uint;i<picBoxArr.length;i++){
  zArr={p:picBoxArr,pz:picBoxArr.tz};
  }
  //依据z轴地位,按数字排序,数字年夜者靠后
  zArr.sortOn("pz",Array.NUMERIC);
  //从头分列工具的地位索引,数字小的离察看近,索引号较年夜
  for(i=0;i<picBoxArr.length;i++){
  pics.setChildIndex(zArr.p,picBoxArr.length-i-1);
  }
  }
  }
  }
  最后的效果:



AdobeFlashProfessionalCS5.5软件可以提供行业领先、用于制作具有表现力的交互式内容的授权环境。

莫相离 发表于 2015-1-17 14:19:20

flash的优缺点可以如何运用呢?

变相怪杰 发表于 2015-2-2 11:32:17

祯率越高,动画中可包容的信息越多,动画看起来越光滑和流畅。当然,当祯率增加时,计算机的CPU的重绘工作越多,运行得就越慢。

飘飘悠悠 发表于 2015-2-7 20:23:59

还有,艺术上的优势——各异的风格;创作手法独特;独立性和原创性;拓展出新的表达空间;

小妖女 发表于 2015-2-23 11:29:38

用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。

再见西城 发表于 2015-3-7 09:21:17

用户在观看广告的时候,无法通过正常点击鼠标来查看广告的尺寸、字节数、所链接的URL广告本身信息。

仓酷云 发表于 2015-3-15 00:02:18

原始动画为单纯的手绘,累而且费时耗资严重,随着科技的发展应运而生了很多制作动画的软件,然而flash在各个方面的应用尤为广泛,作用最为突出,具有一定的影响力。

活着的死人 发表于 2015-3-21 18:25:04

缺点也必然会会有的,但是不同的产品有不同的缺点吧,比如说flash建站它的速度会比较慢。
页: [1]
查看完整版本: 带来一篇Flash AS3教程:制造鼠标感到图片动弹-Flash实例教程