| 首页 | IT动态 | 硬件 | 应用 | 互联网 | 网络 | 网站 | 黑客 | 编程 | 数码 | 视频教程 | 游戏 | 休闲 | 软件 | 视频 | IT认证 | 动漫图片 | IT杂谈 | 论坛 | 
Google
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • DIV与Table布局在大型网站的…

  • HTML语言剖析(六)清单标记

  • HTML语言剖析(五)字体标记

  • HTML语言剖析(四)排版标记

  • HTML语言剖析(三)文件标记

  • HTML语言剖析(二)HTML标记…

  • HTML语言剖析(一)Html简介

  • HTML-加速、再加速(下)

  • HTML-加速、再加速(上)

  • 技巧运用无极限 HTML表格使用…

  • 广 告 位 置
    黄金广告位
    Q
    您现在的位置: 无忧IT人 >> 网站 >> 网页设计 >> FLASH >> Action Script >> 文章正文
    用了BitmapData类的图片“环绕”效果         
    用了BitmapData类的图片“环绕”效果
    作者:51iter 文章来源:www.51iter.com 点击数: 更新时间:2006-12-10
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:

    这种效果做法很多,网上到处可以搜出一大堆!
    本例主要是应用了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为修调系数        
    }

    [1] [2] 下一页  

    文章录入:51iter    责任编辑:51iter 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |