• [AS3][笔记][转载+收集]


    一些不太常见的代码写法,供大家相互学习。程序代码:
    1、

    mc.gotoAndPlay(Math.random()*10>>0);

    Math.random()*10 取 10以内带小数的随机数。
    >> 是移位符号 >>0 的功能去除小数点后的数!!(这个方法的确高明)
    所以 Math.random()*10>>0 整句话的意思是 获取10以内的随机整数!

    -------------------------------------------

    推广的想
    用在加载进度条中,trace((已经加载的字节数/总字节数}*100>>0+"%"), 的确很方便啊!

    2、

    if(i&1){}

    i&1 的意思就是判断,i是奇数还是偶数;
    如果是奇数 i 的2进制表示最后一位是1, i&1=1 真;
    偶数 i 的2进制表示最后一位是0, i&1=0 假。

    3、

    var a:Array = new Array();
    for (var i:int=0; i<10; a.push(i++)){
    //....
    }

    此循环 执行后 a数组的值为 0,1,2,3,4,5,6,7,8,9.
    一个简化程序的方法 能用上的地方有很多。。具体地方具体分析。。

    4、

    var temp:Number=mouseX;
    stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
    function moveHandler(e:MouseEvent):void {
    var d:Number=(-temp+(temp=mouseX)); 
    }

    这段代码功能是获取鼠标移动距离 d。用在鼠标拖拽窗体或者鼠标拖拽游戏上,真是不要太爽!!!代码完全可以改为:

    Mouse.hide();
    var temp:Number=mouseX;
    stage.addEventListener(MouseEvent.MOUSE_MOVE,moveHandler);
    function moveHandler(e:MouseEvent):void {
    var d:Number=(-temp+(temp=mouseX)); 
    spriteMouse.x += d;
    e.updateAfterEvent();
    }

    这样,spriteMouse 这个影片剪辑就成了一个鼠标。

    5、

    function fn1 () {
    trace("1");
    }
    function fn2 () {
    trace("2");
    }
    ([fn1,fn2][Math.random()*2>>0])();

    这个是随机执行函数的命令,挺有意思的。

    如一个欢迎界面:

    function fn1 () {
    trace("你来啦欢迎啊");
    }
    function fn2 () {
    trace("来了你别走啊 ");
    }
    function fn3 () {
    trace("你怎么才来啊");
    }
    function fn4 () {
    trace("就猜到你要来");
    }
    ([fn1,fn2,fn3,fn4][Math.random()*4>>0])();

    6、

    var a:int=3;
    if (a>0&&(trace("a is positive number"),a&1))
    trace("a is positive odd number"); 

    先执行a>0 真,再执行 trace("a is positive number"),最后判断a是不是奇数。这里的逗号表达式是从左向右执行的。

    此用法主要用来判断有没有执行某处语句吧。

    7、

    var a:int=13;
    var b:int=-12;
    if((a^b)>0||(b*=-1,a>10))
    trace(b);
    又是一个逗号表达式:
    a^b = -7
    b*=-1 b=12
    a>10
    输出 b=12
    此用法看的莫名其妙,真不知道应该用在什么地方。

    8、

    myMC.buttonMode = true;

    以前在AS2中,只要为MC指定onRelease或者onRollOver等等点击事件,当鼠标移到MC上时,鼠标就变成手形了,完全不用管。在AS3中改变了这一规则,你首先得用addEventListener添加事件,添加完事件之后,鼠标移到MC上依然是默认的箭头形状。要改变这个形状,还需要指定MC的buttonMode属性为true

    9

    移位
    a=1,b=2,c=4,d=8
    answer&1 == 1 ; //choose A
    answer&2 == 2 ; //choose B
    answer&4 == 4 ; //choose C

    answer&8 == 8 ; //choose D

    10、

    访问主时间轴上的变量:

    MovieClip(root).variable

  • 相关阅读:
    EXTJS 4.2 资料 控件之checkboxgroup的用法(静态数据)
    EXTJS 4.2 资料 控件之Window窗体相关属性的用法
    EXTJS 4.2 资料 控件之textfield文本框加事件的用法
    Entity Framework 学习笔记(一)之数据模型 数据库
    EXTJS 4.2 资料 控件之checkboxgroup的用法(动态数据)
    EXTJS 4.2 资料 控件之Grid 列鼠标悬停提示
    Entity Framework 学习笔记(二)之数据模型 Model 使用过程
    EXTJS 4.2 资料 控件之radiogroup 的用法
    EXTJS API
    vue移动端弹框组件,vue-layer-mobile
  • 原文地址:https://www.cnblogs.com/Memo/p/1243475.html
Copyright © 2020-2023  润新知