zoukankan      html  css  js  c++  java
  • [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

  • 相关阅读:
    PyQt5对话框
    PyQt5基础控件
    PyQt5主界面
    PyQt5入门
    ioctl太多虚拟内存不够用
    code principles
    Error: watch ENOSPC
    intelJ
    cas
    C的函数指针的作用,以及其赋值是弱类型的
  • 原文地址:https://www.cnblogs.com/Memo/p/1243475.html
Copyright © 2011-2022 走看看