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
此用法看的莫名其妙 真不知道应该用在什么地方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值