二进制在FLASH中的应用

二进制

一说到二进制,我们总是或多或少的感觉没有底,因为接触的比较少,而且也不是那么直观,容易理解,这次就来谈谈在FLASH中使用二进制,老少皆宜哦。

首先来看一段程序var round:Number = 2;
var sweet:Number = 4;
var delicious:Number = 8;
var blet:Number = 16;

//苹果是甜的、圆的、好吃的
var apple:Number = round | sweet | delicious;

//下面我们来看看苹果是不是好吃的
if(apple & delicious){
    trace("apple is delicious");
}
//再来看看苹果是不是圆的
if(apple & round){
    trace("apple is round");
}

//再来看看苹果有没有腐烂
//这里不会输出,因为我们先前定义的苹果并没有腐烂
if(apple & blet){
    trace("apple is blet");
}

//假设我们的苹果腐烂了,那我们将加上腐烂这个属性,同时去掉美味这个属性
apple |= blet;
apple = apple & ~delicious;
//我们再来看看上面的输出
//第二个输出将不会显示
if(apple & blet){
    trace("apple is blet");
}
if(apple & delicious){
    trace("apple is delicious");
}

下面我们来分析一下上面的代码
我首先定义了4个属性,应该注意到了这四个属性的值分别是2的N次方,其实换成2进制就是10,100,1000,10000
接着又定义了一个apple变量,用到了"|"符号(按位 OR 运算符),官方的解释是:
expression1 | expression2

将 expression1 和 expression2 转换为无符号的 32 位整数,然后对于 expression1 或 expression2 的为 1 的对应位的每一位返回 1。浮点数通过舍去小数点后面的所有位来转换为整数。结果是一个新的 32 位整数。

如果觉得不太能理解,那就以上面的例子为例。"10 | 100" 的结果是110,"110 | 1000"的结果是1110。所以apple的值其实就是二进制的1110,转换成10进制就是14
然后又出现了一个"&"符号(按位 AND 运算符),官方解释:expression1 & expression2

将 expression1 和 expression2 转换为 32 位无符号整数,并对整数参数的每一位执行布尔 AND 运算。浮点数通过舍去小数点后面的所有位来转换为整数。结果是一个新的 32 位整数。

说白了,就是expression1和expression2的相同位数上必须都是1,那么在结果的对应位置上才是1,所以"apple & delicious"的运算过程就是"1110 & 1000"等于1000,所以判断成立

在加上了blet属性后,我们去掉delicious属性,这是通过"&"和"~"共同完成的,这里又出现了一个"~"(按位 NOT 运算符),就是一个取反运算,原来是0的变1,原来是1的变0,所以"apple & ~delicious"的运算过程是:首先对delicious取反,delicious原来是1000,取反之后自然变成了0111,再与apple执行&运算,"11110 & 0111",结果是10110,相当于去掉了delicious属性

二进制的一个比较典型的用法,就是可以用来保存多个属性,同时可以对这些属性进行基本的运算,这个在上面的代码中已经体现出来了。

补注:
其实,上面这种属性的声明方法并不是很明智,因为一旦属性比较多的话,还得去计算2的N次方到底等于多少,所以,可以采用下面的方法。var shifts:Number = 0;

var ONE     = 1 << shifts++; // 1
var TWO     = 1 << shifts++; // 2
var THREE     = 1 << shifts++; // 4
var FOUR     = 1 << shifts++; // 8

"<<"(按位向左移位运算符),比如"2 << 2"的结果就是8,就是将2的2进制"10"向左移两位,也就是"1000",转换成10进制就是8。

时间: 2024-10-19 00:00:32

二进制在FLASH中的应用的相关文章

FLASH中实现眨眼睛的动画效果

许多FLASH动画短片和MV中经常有精美生动的动画人物出现,配合眨眼动作.口形变化以及头发的飘动,再加上人物的配音,一个活脱脱的动画人物形象就出现在FLASH动画中了.很多人都想知道这样的人物是如何做得栩栩如生的,尤其是其中的简单动画效果,如眨眼的动作,如何制作人物的眨眼动画呢?其实技巧很简单,甚至都不需要专门教程来指导,但是对于初学者,笔者认为却是应该用一个实例教程来给予指导的.最近发现帝国的在线教程中也有很多这样的提问--"在FLASH中如何制作效果逼真的人物眨眼效果?",其他的F

在在Flash中使用ASP技术

在Flash中使用ASP需要的条件: 1.你的ISP的server必须支持Active Server Pages并且最好支持数据库 2.你应该要安装Flash mx 3.需要你对ASP有初步的了解OK,下面具体介绍怎么使用: 第一步要做的是建立数据库: 数据库结构: 例子中使用Access数据库,表名为tblStaff,有三个字段:strID (自动编号),strKnownAs(Text),strSurname (Text). 这是一个用来示范用户名的数据库,随便加些数据吧. 第二步就是建立一个

在Flash中使用ASP技术

数据库结构:第一步:建立数据库.例子中使用Access数据库,表名为tblStaff,有三个字段:strID (自动编号), strKnownAs(Text), strSurname (Text).这是一个用来示范用户名的数据库,随便加些数据吧. 第二步:建立一个 Flash 4 的动画: 步骤如下:1)建立三个text field,它们是用来显示数据用的. 2)把第一个text field的name设置为Input,它是用来接收输入数据的. 3)另外两个text field分别命名为Known

flash中AS的使用技巧汇总

核心提示:flash中AS使用经验总结. 都是在项目中总结的,经过实践的,在flex2 as3下使用的. as调js ExternalInterface.call("js函数名",参数:数组);(可以接收返回值) js调as as:ExternalInterface.addCallback("js中使用的函数名(字符串)", as中的函数(函数类型)); js:SWF名.js中使用的函数名(参数); 对象清理: as中如果某个对象不被使用,且没有任何对象引用它,则此

Flash中锚记讲解

很多人都不知道flash中有个叫锚记的东西,更别说使用他了,即使有人知道有这个东西也不见的会使用,即使会使用他也不一定去用. 那么我现在就告诉那些不知道锚记是什么,跟那些不会用锚记的人使用. 锚记是flashMX就已经提供了的功能,众所周知,在纯flash网站中是不能使用后退键的,一般的HTML网站都可以使用浏览器的收藏功能,并且能使用后退键观看刚才看过的内容.我相信浏览器的功能键里用的最多的就是后退,其次是刷新.如果flash不能使用后退键,这会让人感觉到多么的不方便.也正因为这种不方便几乎是

谈Flash中的鼠标响应

鼠标|响应 大家都知道,Flash动画能够响应鼠标动作,从而实现各式各样的人机交互.常用的鼠标都有左中右三个键. 1.左键 鼠标左键在Windows系统下担负着神圣的职责,在Flash中也不例外.Flash能够自动捕获鼠标左键的动作,并根据捕获的动作激发内置的鼠标事件,再根据用户为这些事件编写的处理函数完成对鼠标左键的响应. 按钮和影片剪辑常常用来完成响应鼠标与实现交互的过程.对于按钮,可以用关键字on定义的事件处理函数来响应左键动作.其中,press表示左键按下的事件,release表示左键释

Flash中的常见术语

一.Stage(舞台) 编辑电影画面的矩形区域(如图1). 使用FLASH制作动画就像导演在指挥演员演戏一样,当然要给他们一个演出的场所,在FLASH中称为舞台.舞台由大小.音响.灯光等条件组成,FLASH中的舞台也有大小.色彩等的设置:跟多幕剧一样,舞台也可以不止一个. 二.Timeline(时间轴) 一场电影,光有舞台还不行,重要的是有演员按某种时间安排进行演出,应用到 Flash 动画制作中,这种时间安排则由时间轴来完成(如图1). 三.Frame(帧) 我们都知道,电影是由一格一格的胶片

Flash中的电影艺术之镜头技巧教程

技巧|教程 文章内容摘自<Flash动画与卡通制作创意导航>([美]Ibis Fernanadez著 罗小燕译 清华大学出版社) ,有改动,实例作品为若无说明为qhwa原创. 对于许多动画制作者来说,通过Flash获得电影般的效果十分困难,这样他们就不得不满足于非常规的处理方法或者静态画面,而这样又影响了他们的制作.只会说话的头十分枯燥,而且有时仅仅画出角色正确的动作和姿态是远远不够的. 电影艺术融化了摄影,舞蹈动作设计和影视编辑技术,其中影视编辑技术对于成功制作卡通动画来说起主导作用.通常,

Flash中像素字体使用技巧

技巧 制作商业Flash动画的朋友相信对于象素字体一定不陌生.它又小又酷,非常漂亮,受大多数设计师的欢迎.目前像在全国非常有名的04系列字体(图-1) (图-1) 04系列字体的官方网站:http://www.04.jp.org/ 大家可以到这里面去下载所有的04系列字体. 对于04系列字体,Flash的支持并不完善.不仅对于04系列,对于其他各种类型的字体支持都不是那么完善,因为Flash是一个矢量动画软件.他可以很好的解决图像因为放大或缩小所造成的失真问题,但对于由单个象素构成的图形支持不好