Making Things Move 第四章

创建日期:2008年5月17日 来自:蓝色理想 浏览:767次 作者:匿名

获取颜色值

假如有这样一个数 0xFF55F3,要从中提取 red,green,blue 的值。下面请看公式,首先是24位色彩:
red = color24 >> 16;
green = color24 >> 8 & 0xFF;
blue = color24 & 0xFF;

一句句来看。首先,大家也许会猜到 >> 是按位右移运算符,用于将二进制位向右移动。如果这些位向右移动得过多,那么这些数字就会消失,就没有数了。
下面从 red 开始:
111111110101010111110011
将颜色值向右移动16位,结果如下:
11111111,或是0xFF(255)
对于 green,向右移动8位,结果如下:
1111111101010101

这里已经得出了 blue 的值,但是 red 值还留在一旁。这里就是要使用与(And)操作符的地方,与(OR)操作符相同,都是对两组数值的比较,可以这样解释“两个数相比较,如果两个都是1那么结果就为1,如果其中有一个为0,那么结果就为0”。我们把它与0xFF进行比较:
1111111101010101
0000000011111111

因为所有的 red 位的数字都与0相比较,所以它们的结果均为0,只有当两个数都为1时结果才为 1,所以结果如下:
0000000001010101

对于 blue 则不需要执行右移操作,只需要让它和 0xFF 执行与(AND)操作即可。对于32位色彩,方法也是相同的,只不过需要一点小小的改动:
alpha = color32 >> 24;
red = color32 >> 16 & 0xFF;
green = color32 >> 8 & 0xFF;
blue = color32 & 0xFF;

这里,获取 alpha 的值需要向右移动24位。现在我们已经学到了很多 Flash 的色彩知识,下面就要开始进行应用了。

绘图 API

先说一下 API 是什么,它是应用程序接口(application programming interface)的缩写。总的来说,API 是指在程序中使用的一些属性和方法来访问某些相关的行为和属性。绘图 API 允许我们使用 ActionScript 绘制直线,曲线,填充色,渐变填充的一些属性和方法。在这个 API 中有些让人惊讶的方法,我们还要学习很多这方面的知识和灵活的技巧。
直至 Flash MX,已经拥有了如下这些绘图方法:

  •  clear()
  • lineStyle(width, color, alpha)
  • moveTo(x, y)
  • lineTo(x, y)
  • curveTo(x1, y1, x2, y2)
  • beginFill(color, alpha)
  • endFill()

beginGradientFill(fillType, colors, alphas, ratios, matrix)

在 Flash 8 中,又为 lineStle 和 beginGradientFill 增加了几种新的方法,同时也加入了 beginBitmapFill 和 lineGradientStyle 方法。在 AS 3中,也增加了几种非常有用的方法:

  • drawCircle(x, y, radius)
  • drawEllipse(x, y, width, height)
  • drawRect(x, y, width, height)
  • drawRoundRect(x, y, width, height, ellipseWidth, ellipseHeight)

先来预览一下这些方法,稍后再对每种方法进行详细的介绍。

绘图对象

在 Flash 早期版本中,绘图 API 方法是影片剪辑(MovieClip)类中的方法,可以在影片剪辑实例中直接调用,代码如下:

myMovieClip.lineTo(100, 100);

影片剪辑和 Sprite 都可以访问绘图 API,只是实现起来有些不同。目前,Sprite 影片和影片剪辑都有一个名为 graphics 的属性,用于访问绘图 API 的方法。为了直接访问绘图方法,我们可以这样写:

mySprite.graphics.lineTo(100, 100);

下面在示例中看看这些方法的基本使用。

  首页   上一页   1   2   3   4   5   6   7   8   9   下一页   尾页 

责编:yezi
相关搜索: Making   Things   Move   第四章  
Google
嗷嗷毙技术网版权申明:大家可以自由转载我站点的文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来链接,自行链接)。文章版权归作者所有。
特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。
子栏目
搜索 
Google