2007/06/19 | 总结一下AS2的一些小经验(本人觉得十分有用的)
类别(Flash) | 评论(5) | 阅读(309) | 发表于 22:45

        以前学 AS2.0 时, 就是喜欢一点一点地积累收藏, 方便使用..... 以前没有学过编程, 所以只能把需要的功能记下来...是死记的那种..... 现在就把其中的小功能 ( 也可以说是我的小经验吧 ) 发出来和大家分离一下....虽然说 AS3.0 已经诞生了( 本人也已经转向AS3 ).., 但相信也有相当一部分人还是用AS2.0的....... 

下面就献丑下。。。嘻嘻..... ( 高手们别笑哦.... )

=================================================

【MC附加的层问题】
this.attachMovie("元件3","mc3_1",this.getNextHighestDepth());   //加到当前场景
------------------
【Flash里打开Html对话框】
on (release) {
 getURL("javascript:NewWindow=window.open(\'http://www.RiaHome.cn\',\'_blank\',\'width=480,height=200,left=400,top=200,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No\');  NewWindow.focus(); void(0);", "");
}
------------------
【解决中文乱码】
System.useCodepage = true;
------------------
【间隔函数】
setInterval()
在播放 SWF 文件时,每隔一定的时间,就调用函数、方法或对象。可以使用间隔函数更新来自数据库的变量或更新时间显示。
function a(arg) {
 arg = random(10);
 trace(arg);
}
setInterval(a, 10,[函数a的参数]);
------------------
【按钮组的循环】
function j(Num, btnName, mcName) {
 for (i=1; i<=Num; i++) {
  this[btnName+i].k = i;
  //给按钮增加属性k,记住它对应MC的序号i
  this[btnName+i].onRelease = function() {
   _root[mcName+this.k]._alpha = 0;
   //this.k就是"想象的 i"
  };
 }
}
j(3, "btn", "mc");
------------------
【条件判断的简化】
( ) ? :
a = 11345145645634;
b = 2345636;
c = (a>b) ? a : b;
trace(c);
------------------
【有趣的数组读取】
[一]
my_array = new Array();
j = 10;
for (i=0; i<11; i++) {
 my_array[i] = j;
 j++;
}
for (i=0; i<my_array.length; i++) {
 trace(my_array[i]);
}
[二]
my_array = new Array();
my_array = ["a", "b", "c"];
for (i in my_array) {
 trace(my_array[i]);
 // 访问时是按倒序访问的.
}
技巧-公共子表达式消除:
for (var i = 0; i<5; i++) {
 var mc = this["mc"+i];
 mc._visible = true;
 mc._x = 10;
 mc._y = 10;
 mc._alpha = 10;
}
------------------
【元件组的动态访问】
i = 1;
while (i<4) {
 eval("mc"+i)._alpha = 0;
 i++;
}
------------------
【创建对像】
aa = new Object();
//添加aa的属性dd
aa.dd = "aa的属性";
//定义函数bb()
function bb() {
 trace("OK");
}
//分配bb()为aa的方法cc
aa.cc = bb();
//调用aa的方法cc()
aa.cc();
//测试aa的属性dd
trace(aa.dd);
------------------
【实现锁定_root】
_lockroot = true;
//这样可以使被加载的swf与加载者各有各的_root
------------------
【获取随机整数】
示例
下面的示例输出 4 和 11(包含)之间的 100 个随机整数:

function randRange(min:Number, max:Number):Number {
    var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
    return randomNum;
}
for (var i = 0; i < 100; i++) {
    var n:Number = randRange(4, 11)
    trace(n);
}
------------------
【不确定数参数】
flashl里面有一个arguments类,他是所有参数的数组
function test()
{
        var len:Number = arguments.length;
        for(var i:Number = 0; i < len; i++)
        {
                trace("参数类型:" + typeof(arguments))
                trace(arguments)
        }
}
test(100,"www.RiaHome.cn");
trace("=====第二次调用,参数不同=====");
test("soda",22,"flash开发工程师");
------------------
【终极快速激活所有IE ActiveX Object】
<script src="javascript:'document.body.innerHTML+=\'\'';"></script>

===================================================





0

评论Comments

日志分类
首页[223]
Flash[50]
Flex和AIR[76]
Ajax和CSS[9]
SilverLight[3]
视觉设计[10]
心情[39]
杂七杂八[36]