小女巫 发表于 2015-1-15 22:49:27

来谈谈:Flash AS3教程:运算符“?:”-Flash actionscript

“fla”是Flash的原始档,只能用对应版本或更高版本的Flash打开编辑。
后面给人人演示了一个FlashAS3教程:小游戏开辟实战实验,这篇说说运算符的利用。起首个运算符,我们应不该该推许多利用,先来做个检验:
CODE:
varsumo:int=0;
varsumj:int=0;
for(vari:int=0;i<10000000;i++){
if(i%2==0){
sumo+=i;
}else{
sumj+=i;
}
}
trace(getTimer());
//输入了局:562

varsumo:int=0;
varsumj:int=0;
for(vari:int=0;i<10000000;i++){
i%2==0?sumo+=i:sumj+=i;
}
trace(getTimer());
//输入了局:572从下面的测试了局不丢脸出,ifelse切实其实比?:快一点,那末是否是就应当丢弃?:呢?谜底是错
在盘算10000000次的情形下,他们的效力差是那末的低。。才10毫秒。。
那末我们保举用?:的时分:
1、没需要的情形下。
好比,判别逻辑值,假如为true,则a=20,假如为false,则a=30
代码:a=p?20:30;
假如写成ifelse,就是
if(p){
a=20;
}else{
a=30;
}
用ifelse委曲说得已往
那末是一个必要传参的中央,为true,为false,情形纷歧样,假如你在多出来5行,来写这段代码,团体以为,算是过剩的了!
完整能够接纳:fun(p?20:30);
假如说看不懂如许的代码,那末持续往下看,会教人人一种了解?:的举措

2、逻辑对照庞大,可是都是属于单向判别的中央,咱就能够利用?:了
好比我写的类中,有句如许的代码:
num=isMaster?(p1?(p2?2:3):(p2?1:4)):(p1?(p2?4:1):(p2?3:2));
有乐趣的伴侣把他翻成ifelse,然后在对照一下这两个代码,你以为谁人看起来更累?
固然对照之前,仍是持续看上面,让我来教人人怎样疾速了解?:

了解的举措:
先看一个复杂的例子:
a=num==1?2:3;
用普通的语句说,就是:假如num即是1,则a=2,不然a=3,这个很好了解,那末下面谁人相似火星文的代码
套用这类说法就对照难了,因而我们要改动头脑设法,要直不雅的看着了解
a是筹办吸收得值的物体,跟前面的盘算有关,那末我们能够间接了解前面
即:num==1这个物体问2,以是为3,扩大一下语句就是:num==1问2你即是我吗?2回覆不,以是为3
在直不雅了解的时分,先判别num==1是不是为真值,为真?号前面的,为假:号前面的
不必把?:设想成ifelse,甚么ifnum==1那末就即是2,不然即是3,如许了解固然慢
就十分直不雅的了解,为真,?号,不然:号

我们再来看谁人相似火星文的器材:
num=isMaster?(p1?(p2?2:3):(p2?1:4)):(p1?(p2?4:1):(p2?3:2));
isMaster为true,就是(p1?(p2?2:3):(p2?1:4)),不然就是(p1?(p2?4:1):(p2?3:2))
p1为true,就是(p2?2:3),不然就是(p2?1:4)
…………
顺次分散,实在你会发明一个纪律,没发明也不妨,我来帮你总结
我一眼就能够看出:
isMaster为true,p1为true,p2为true的时分,num即是2
isMaster为true,p1为true,p2为false的时分,num即是3
isMaster为true,p1为false,p2为true的时分,num即是1
isMaster为true,p1为false,p2为false的时分,num即是4
isMaster为false,p1为true,p2为true的时分,num即是4
isMaster为false,p1为true,p2为false的时分,num即是1
isMaster为false,p1为false,p2为true的时分,num即是3
isMaster为false,p1为false,p2为false的时分,num即是2

就这么复杂,也许你还能发明更多的纪律,实在了解?:的时分,不要把他看成ifelse,记着为true,后面的,不然前面的
触及太庞大的范例,判别也不要用?:,可是是一些数字,逻辑值等,用用?:,效果仍是很不错的!
交互性更是flash动画的迷人之处,可以通过点击按钮、选择菜单来控制动画的播放。正是有了这些优点,才使flash日益成为网络多媒体的主流。

谁可相欹 发表于 2015-1-17 18:54:42

alpha通道,图像的一部分可以变成透明,透明度可以从完全不透明到完全不可见。Alpha通道支持没有副作用。

飘灵儿 发表于 2015-1-22 15:12:07

缺点也必然会会有的,但是不同的产品有不同的缺点吧,比如说flash建站它的速度会比较慢。

海妖 发表于 2015-1-31 08:10:29

一个物体从一个角(关键祯1)移动到另一个角(关键祯2)。然后tweening在关键祯之间填充祯,从而使物体可以在屏幕上优雅地运动。

只想知道 发表于 2015-2-6 18:57:41

Flash是一种以向量图方式制成的网页动画,相比MPEG,AVI等的影片的档案大小就小很多.

山那边是海 发表于 2015-2-18 08:26:57

alpha通道,图像的一部分可以变成透明,透明度可以从完全不透明到完全不可见。Alpha通道支持没有副作用。

爱飞 发表于 2015-3-6 03:52:42

在与制作传统动画相比较的同时,flash具有便捷、节省人力财力,节约时间、推广方便的许多优势。但与此同时它也具有一点的缺点。

兰色精灵 发表于 2015-3-12 21:00:08

只要用心 只要努力 在加上你无限的创意和想象。FLASH无敌了

冷月葬花魂 发表于 2015-3-20 04:24:33

对插件的批评之一是他们一般出现在称为Box的网页的一个预定的区域。虽然在某种情况下表现不错,但Box经常以罪魁祸首的面目出现。
页: [1]
查看完整版本: 来谈谈:Flash AS3教程:运算符“?:”-Flash actionscript