• 奇爱公告:
  • 设为首页
  • |
  • 收藏本站
  • |
  • RSS阅读
  • |
  • 网站地图
  • |
  • 站内搜索
  • 奇爱素材网

  • 首页 酷站 PNG 矢量 GIF 笔刷 背景 PSD 欣赏 代码 FLA 教程 图库 书店
  • 您现在的位置: 奇爱素材网 >> 设计教程 >> 网页设计 >> Flash >> 正文 |
  • 用了BitmapData类的图片“环绕”效果

    作者:ybzjllj 素材来源:闪吧 点击数: 更新时间:2007-6-14 21:47:22

    这种效果做法很多,网上到处可以搜出一大堆!
    本例主要是应用了BitmapData类,仿制很容易。

    做法:
    处理一张首尾相接的环绕图片,导入Flash库中,打开库,右击图片,选“链接”,“为ActionScript导出“,标识ID名为:pic
    场景上什么也不放。最好将场景高度设为与图片一样高。宽度随意,但要小于图片宽度。
    在第一帧粘帖如下代码,即可测试:
    import flash.display.BitmapData;
    import flash.geom.*;
    //从库里取图
    var picBD:BitmapData = BitmapData.loadBitmap("pic");
    var pic_mc:MovieClip = this.createEmptyMovieClip("pic_mc", this.getNextHighestDepth());
    pic_mc.attachBitmap(picBD, this.getNextHighestDepth());
    //创建用于“过渡”的图
    var picBD2:BitmapData = new BitmapData(Stage.width*2, pic_mc._height, false, 0xFF);
    var pic_mc2:MovieClip = this.createEmptyMovieClip("pic_mc2", this.getNextHighestDepth());
    pic_mc2.attachBitmap(picBD2, this.getNextHighestDepth());
    //截取源图的前和后各一部分组成新的图
    picBD2.copyPixels(picBD, new Rectangle(0, 0, Stage.width, pic_mc._height), new Point(Stage.width, 0));
    picBD2.copyPixels(picBD, new Rectangle(pic_mc._width-Stage.width, 0, Stage.width, pic_mc._height), new Point(0, 0));
    //初始化位置
    pic_mc2._x = pic_mc._x+pic_mc._width-Stage.width;
    pic_mc2._y = pic_mc._y;
    //计算两个“常量”,以免下面的帧循环中反复计算
    var xa:Number = -(pic_mc._width-Stage.width)/2;
    var xb:Number = -(pic_mc2._width-Stage.width)/2;
    var v:Number =5;//移动速度初值
    this.onEnterFrame = function() {
            pic_mc._x -= v;
            pic_mc2._x -= v;
            //判断不同位置下,pic_mc与pic_mc2有左右关系
            if (pic_mc._x<xa && pic_mc2._x<pic_mc._x) {
                    pic_mc2._x = pic_mc._x+pic_mc._width-pic_mc2._width/2;
            } else if (pic_mc._x>xa && pic_mc2._x>pic_mc._x) {
                    pic_mc2._x = pic_mc._x-pic_mc2._width/2;
            } else if (pic_mc2._x<xb && pic_mc._x<pic_mc2._x) {
                    pic_mc._x = pic_mc2._x+pic_mc2._width/2;
            } else if (pic_mc2._x>xb && pic_mc._x>pic_mc2._x) {
                    pic_mc._x = pic_mc2._x-pic_mc._width+pic_mc2._width/2;
            }
    };
    //鼠标移动,修调速度
    this.onMouseMove = function() {
            v=Math.floor((this._xmouse-Stage.width/2)/30);//30为修调系数        
    }

    点击这里下载源文件

  • 上一篇教程: 做个按钮控制图片缓冲切换的效果(带模糊滤镜)
  • 下一篇教程: Flash ASPXPiis下乱码(遇到 Flash+asp 乱码的朋友必看)
    • 提点建议 | 友情链接 | 广告服务 | 免责声明 | 联系我们 | 网站地图 | RSS阅读
      Copyright © 2006-2008 Www.72sc.coM, All Rights Reserved 版权所有 奇爱素材网 鄂ICP备07010427号
      ++技术交流QQ群号码:1226944 ++业务联系QQ:19295971