专栏首页我和未来有约会flash读取XML 背景自动适应大小

flash读取XML 背景自动适应大小

var bg = new Object();
bg.bgdoc_xml = new XML();
bg.parse_XML = function() {
    function displayXML() {
        if (bg.bgdoc_xml == undefined) {
            trace("..undefined");
        }
        if (bg.bgdoc_xml.loaded == false) {
            trace("loaded false");
        } else {
            //清除从 setInterval() 的调用
            clearInterval(rep_int);
            //trace("BgXml Load success");
            play();
        }
    }
    bg.bgdoc_xml.ignoreWhite = true;
    bg.bgdoc_xml.load("background.xml");
    bg.bgdoc_xml.onLoad = function(success) {
        if (!success) {
            trace("background.xml false");
        } else {
            //每隔200毫秒调用displayXML
            rep_int = setInterval(displayXML, 200);
        }
    };
};
//
bg.Init = function() {
    //trace("bg.Init");
    bg.folder = bg.bgdoc_xml.firstChild.attributes.folder;
    bg.path_array = new Array();
    for (var i = 0; i<bg.bgdoc_xml.firstChild.childNodes.length; i++) {
        bg.path_array.push(bg.folder+bg.bgdoc_xml.firstChild.childNodes[i].attributes.url);
    }
    bg.nowOrder = random(bg.path_array.length);
    bg.start = true;
};
bg.show = function() {
    //trace("bg.show");
    if (bg.nowOrder == undefined) {
        bg.nowOrder = 0;
    }
    var bg_mc = _root.Content_bg;
    if (bg_mc == undefined) {
        gotoAndPlay("Loadbg");
    } else {
        bg_mc.bg_content_mc.loadMovie(bg.path_array[bg.nowOrder]);
    }
};
bg.showPrev = function() {
    _root.bg.nowOrder--;
    if (_root.bg.nowOrder<0) {
        _root.bg.nowOrder = _root.bg.path_array.length-1;
    }
    bg.show();
};
bg.showNext = function() {
    _root.bg.nowOrder++;
    if (_root.bg.nowOrder>_root.bg.path_array.length-1) {
        _root.bg.nowOrder = 0;
    }
    bg.show();
};
bg.Brightness = function() {
    var mark_mc = _root.Content_bg.bgmark_mc;
    mark_mc.play();
};
ff = function () {
    var loader = _root.Loader_mc;
    bg_mc.onEnterFrame = function() {
        var Total = this.bg_content_mc.getBytesTotal();
        var Loaded = this.bg_content_mc.getBytesLoaded();
        var percent = int(Loaded/Total*100);
        loader.gotoAndStop(percent);
        trace("Loaded:"+percent);
        if (percent>=100) {
            this.onEnterFrame = undefined;
            if (bg.start) {
                bg.start = false;
                _root.gotoAndPlay("playMenu");
            }
        }
    };
};
var bgListener = new Object();
bgListener.onResize = function() {
    //trace("Stage size is now "+Stage.width+" by "+Stage.height);
    resizeBg();
};
Stage.addListener(bgListener);
function resizeBg() {
    var bg_mc = _root.Content_bg;
    var bgWidth = bg_mc.bg_content_mc._width;
    var bgHeight = bg_mc.bg_content_mc._height;
    //scale the background to resize
    var maxScale = Math.max(Stage.width*bg_mc.bg_content_mc._xscale/bgWidth, Stage.height*bg_mc.bg_content_mc._yscale/bgHeight);
    bg_mc.bg_content_mc._xscale = bg_mc.bg_content_mc._yscale=maxScale;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • silverlight设置浏览器Cookies

    silverlight小技巧 silverlight设置浏览器Cookies 1. 设置Cookies 设置Cookies需要用到SetProperty()...

    用户1172164
  • Silverlight 3.0 中的 Local Connection

    现在很多的需求中需要一个插件实例和另一个实例进行通讯。在同一个页面中调用Html、js等来通讯,而这个往往有一些限制,需要专门的去设置一些权限。在Silverl...

    用户1172164
  • 捕获silverlight滚轮事件

    silverlight小技巧 捕获silverlight滚轮事件 在页面初始化时添加代码 HtmlPage.Window.AttachEvent("D...

    用户1172164
  • 完美的背景图全屏css代码 – background-size:cover?

    归功于css3.0新增的一个属性background-size,可以简单的实现这个效果,这里用fixed和center定位背景图,然后用background-s...

    双面人
  • 基于laravel-admin 后台 列表标签背景的使用方法

    .bg-red .bg-yellow .bg-aqua .bg-blue .bg-light-blue .bg-green,

    砸漏
  • 相对路径和绝对路径的区别

    在HTML里只要涉及文件的地方(如超级链接、图片等)就会涉及绝对路径与相对路径的概念。  1.绝对路径     绝对路径是指文件在硬盘上真正存在的路径。例如“b...

    猿人谷
  • 【从零学习OpenCV 4】图像直方图绘制

    经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍《从零学习OpenCV 4》。为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社...

    小白学视觉
  • 数据蒋堂 | 遍历复用

    本文共2500字,建议阅读7分钟。 减少外存(硬盘)访问量一直是提高大数据计算性能的永恒话题。

    数据派THU
  • 搞它!!!Linux--深入介绍firewalld防火墙管理工具

    firewall-cmd是firewalld防火墙自带的字符管理工具,可以用来设置firewalld防火墙的各种规则

    不吃小白菜
  • LeetCode 228. 汇总区间

    Michael阿明

扫码关注云+社区

领取腾讯云代金券