第四章 渲染技术Ⅰ[FL 基理译]
2009-05-30 12:08:36 来源:WEB开发网我们可以使用十六进制以 0xRRGGBB 这样的格式来表示一个色彩值。同样,32位的颜色也是如此,以 0xAARRGGBB 这样的格式来表示,其中 AA 表示透明度。因此,0xFFFFFFFF 就表示不透明的白色,0x00FFFFFF 表示完全透明的白色,而 0x80FFFFFF 表示近似 50%透明度的白色。
新的数值类型:int 和 uint
在以前的 ActionScript 版本中,只有一种数值类型 Number,它可以表示正整数,负整数或是浮点数(或0)。我们已经习惯了这种自由的用法,但是现在多增加的两种数值类型可以让我们的代码更加清晰。
第一个新增加的数值类型是 int(整型),这个类型可以为正整数或负整数或零。如果我们把一个浮点数值声明为 int 类型的话,小数部分会自动被去掉。比如,把 1.9 声明为 int,结果为 1。因此,当我们确定只使用整数时,就把变量声明为 int ,在循环中用于计数的变量一般应该是 int 。下面这段代码中,i变量永远不会得到浮点数值,这时使用int类型就有了意义。
for(var i:int = 0; i < 100; i++) {
// 在这儿做些事情!
}
第二个新的类型是 uint(无符号整型),“无符号”意思是没有正负(+-)号,永远为正数。32 位颜色值在 AS 3 中总是以 uint 类型存储,这是因为无符号整型比(有符号)整型能够保留更多的数值。 Int 和 uint 都可以存储 32 位数,这个数值大于 40 亿,但是 int 有一个特殊位用于存储符号(+-),所以只有 31 位数(大于 20 亿),这样就可以标记正数或负数了。所以,使用 int 类型声明一个正的 32 位色彩值就显得太大了!如果用了又会怎样?让我们来试试:
var color1:int = 0xffffffff;
trace(color1);
var color2:uint = 0xffffffff;
trace(color2);
更多精彩
赞助商链接