• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS小技巧>文章内容
  • Flash与html 的一些实用技巧
  • 来源:蓝色理想 作者:地狱烈火 2007-06-06 【


这样,在HTML页面中Flash文件便可以透明了,看看效果图

这个技巧主要感谢水蓝色青蛙,我仅仅是传播,呵呵~
类似的东东: http://www.dengjie.com/weblog/comment.asp?post_id=5 这是有关让SWF文件在Windows下打开时的窗体透明软件。

这个技巧来源于一个国外的实例,很实用,大家可以看看先http://www.dengjie.com/weblog/comment.asp?post_id=462 

在线演示http://2mdc.com/resizableFlash/

这个技巧非常适合一些无极扩展菜单之类的特效,可以脱离HTML大小的限制,任意增加菜单的长度,下面就以蛋蛋的Flash+XML无极扩展菜单为例子,如何动态设定FLASH文件在Html页面中的大小
最终效果演示: http://www.blackflasher.net/download/index.htm

首先我们来分析一下这个XML菜单的代码:

//建立顶级菜单
function creatRootMenu() {
     _root.creatMyMenu(menuData.firstChild);

}

这个函数主要是调用了creatMyMenu()函数,搜索整个代码,找到creatMyMenu()函数

creatMyMenu()引入了2个值,其中a是一个XML对象,那么我们如果要计算新的尺寸,就需要知道一共打开了多少个菜单,可以在函数中加一句trace("这个子菜单有"+a.childNodes.length),然后测试影片,返回结果为

//建立子菜单
function creatMyMenu(a, b) {
     for (var i = 0; i<a.childNodes.length; i++) {
         this.createEmptyMovieClip("item"+i, i);
         var myMenu = this["item"+i];
         myMenu.creatMenu(a.childNodes[i], i, b);
     }
}

 

这两次返回的结果主要是第一次生成了3个主菜单,而主菜单的生成函数中嵌入了一个检查菜单是否展开的函数,若展开则继续生成子菜单,既第一个分类中的7个子菜单。
现在已经确定了菜单初始化时生成的数量,下一步确定菜单在打开和关闭时所生成的数量。
大概浏览一下整体代码,可以看到有一个函数menuDrawBg()其中有好几个鼠标事件,那么这个函数应该是决定鼠标事件出发以后所执行命令的函数。我们主要看onRelease事件:

this.bg.onRelease = function() {

getURL(this._parent.XMLData.attributes.url,this._parent.XMLData.attributes

 

.targetWindo);
         if (!(Number(this._parent.XMLData.attributes.open))) {
             this._parent.XMLData.attributes.open = 1;
             this._parent.creatMenu(this._parent.XMLData, this._parent.XMLIndex, 1);
         } else {
             if (Number(this._parent.XMLData.attributes.open)) {
                 this._parent.item.removeMovieClip();
                 this._parent.XMLData.attributes.open = 0;            
             }
         }
     };   

 

 

这个事件中主要判断XML对象中的OPEN属性,控制开/关,首先判断“!(Number(this._parent.XMLData.attributes.open)”条件既若菜单的open属性为0则打开菜单,再往下看,先不要急着取得打开的菜单数目,可以看到里面调用了一个creatMenu()函数,搜索找到creatMenu()函数。最后找到这一句:“MovieClip.prototype.creatMenu = menuInit;”往下看,就是menuInit函数的定义,稍微看看你可以发现这个函数也调用了creatMyMenu()函数,我们之前已经修改过了creatMyMenu()函数,那么这里则可以省去这个步骤,下面看看关闭菜单的代码,其中的XML对象为this._parent.XMLData,那么要取得关闭菜单的数目取得this._parent.XMLData的项数即可,增加一个trace("菜单关上"+this._parent.XMLData.childNodes.length)语句,然后测试。

 

测试无误后,下面要开始计算新的高度。在代码中加如下列语句:

function newSize(width,height){
     _root.nowheight=height


上一页 1 23 下一页

上一篇:Toon titan插件使用详解   下一篇:flash影片web播放控制器制作祥解
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)