5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:好人村
性别:先生
最后登录:2012-08-07
http://jh7086.5d.cn/
大坏人
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2004/09/28 | FlashAS——精要
类别(Flash进修)
|
评论
(0)
|
阅读(282)
|
发表于 19:07
来自闪吧之ox_thedarkness,
原贴
如何在内部监测版本?
System.capabilities.version 会返回一个字符串,比如: "win 7,0,14,0" 或者 "win 6,0,32,0"
假如用户是window操作系统,我们可以使用下面的语句得到主版本号:
var version = System.capabilities.version.slice(4,5);
if(version == 6) trace( "FlashMX" );
if(version == 7) trace( "Flash2004");
这里用到函数String.slice( from,to) ,他的作用返回string 从from到to之间(不包括to)的字符。比如 "012345".slice(3,5) 返回"34"
我们可以在你的flash初始化的时候检查版本,并且根据不同的版本绑定不同的函数。
比如,2004里面有一个新系统函数 MovieClip.getNextHighestDepth(),他的作用是得到某一个mc的最高的未使用深度。我们往往用这个函数动态加载mc。但是,使用了这个函数意味着不兼容flash6。
那么如何同时在mx 和2004中使用呢? 如果发现用户用的是flashplayer6,我们就自己添加一个getNextHighestDepth函数。
//-----------------------------------------------------------------------
var version = System.capabilities.version.slice(4,5);
if(version == 6) {
MovieClip.prototype.depthNow=1000; //避免一般冲突
MovieClip.prototype.getNextHighestDepth = function(){
return this.depthNow++;
}
}
//-----------------------------------------------------------------------
0
评论
Comments
日志分类
首页
[163]
Flash习作
[85]
Flash进修
[33]
Flash推荐
[16]
Flash涂鸦
[4]
听~音乐
[9]
我滴地盘er
[16]