FlashAS编写代码实现三维环视效果

2008-04-02 10:33:11来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  前段时间在韩国风景网站上看到这种三维环视效果,前景和背景分离的效果,感觉很不错。自己就试着做了一个,今天把原文档和做法共享出来。

  1、首先找一张云层的图片,要大一点的,能够拼接为环视图片的最好。

  2、找一张风景的环视图片,然后将云层或天空部分去掉,变成透明的,存为png透明格式。

  3、在主场景第一层第一帧中建立影片剪辑,实例名称为:bg_mc,在bg_mc下创建影片剪辑实例:bg,进入bg编辑,导入刚刚找到的云层图片。对齐坐标为0,0;

  4、在主场景第二层第一帧中建立影片剪辑,实例名称为:img_mc,在img_mc下创建影片剪辑实例:img,进入img编辑,导入刚刚处理过的风景图片。对齐坐标为0,0;

  5、在主场景第三层第一帧中加入以下AS代码:

  
//as----------------------------------------------------

  stop();

  Stage.showMenu = false;

  Stage.scaleMode = "noScale";

  fscommand(allowscale, true);

  img_mc.img.duplicateMovieClip("img1", 2);//复制前景;

  bg_mc.bg.duplicateMovieClip("bg1", 2);//复制云层北京;

  page_width = Stage.width;//配置鼠标感应范围宽度

  page_height = Stage.height;//配置鼠标感应范围高度;

  step = 40;//配置间隔时间;

  img_mc.img._x = 0;//初始前景坐标位置;

  img_mc.img1._x = -img_mc.img._width;//初始前景被拼合为环视图

  bg_mc.bg._x = 0;//初始背景坐标位置;

  bg_mc.bg1._x = -bg_mc.bg._width;//初始背景被拼和为环视图;

  img_mc._y = 0;//初始前景和背景y轴位置;

  bg_mc._y = 0;//

  _root.onEnterFrame = function() {//根据帧频持续调用函数;

  img_width = img_mc._width/2;//配置前景鼠标检测范围;

  bg_width = bg_mc._width/2;//配置背景鼠标检测范围;

  if (_root._xmouse>0 && _root._xmouse0 && _root._ymouse//判断鼠标是否在场景范围内;

  img_mc._x = img_mc._x-(_root._xmouse-page_width/2)/step;//控制前景循环;

  bg_mc._x = bg_mc._x-(_root._xmouse-page_width/2)/step*1.3;//控制背景循环,速度比前景快1.3倍;

  if (img_mc._x<-(img_width-page_width)) {//以下几个if循环为检测是否超出范围;

  img_mc._x = page_width;

  }

  if (img_mc._x>page_width) {

  img_mc._x = page_width-img_width;

  }

  if (bg_mc._x<-(bg_width-page_width)) {

  bg_mc._x = page_width;

  }

  if (bg_mc._x>page_width) {

  bg_mc._x = page_width-bg_width;

  }

  }

  };


  现在直接Ctrl enter就能够看到效果啦。现在共享我做这个效果时用到的两张图片;

  云层图片:

  

  风景图片:

  

  


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash结合FireWorks制作下拉菜单

下一篇: 流行手法——水纹banner的制作