找回密码
 注册
搜索
热搜: java php web
查看: 208|回复: 1

Flash中一些很少使用的方法

[复制链接]
发表于 2009-1-26 20:56:09 | 显示全部楼层 |阅读模式
使用过Flash的朋友知道,平时我们只需使用AS的很少一部分就可以解决我们的大部分问题,有些AS我们可能一直都没有机会用到,下面就介绍一些不经常使用的AS的使用方法。

1.求模运算符 %
A:Clamp
trace(15 % 6); // 显示: 3
a%b 的结果从来都不会比b大,所以你可以用来限制一个表达式在0-b的范围内。

程序代码:
复制内容到剪贴板
代码:

//ball为舞台上的一电影剪辑
ball.onEnterFrame = function{
this._x = (this._x + speed)%300;
}
B:Snap
x = 350;
trace(x - x%100); // 一个小于x但是又是100的倍数 = 300
trace(x + x%100); // 一个大于x但是又是100的倍数 = 400
下面是一个范例:
新建一flash文档大小为 300*240,使用矩形工具画一无边框的正方形,边长为30,然后转换为电影剪辑,并给一实例名为ball,新建一个图层并在此图层放入如下代码:
复制内容到剪贴板
代码:

ball.onMouseMove = function( ) {
this._x = _xmouse - _xmouse%size;
this._y = _ymouse - _ymouse%size;
updateAfterEvent( );
};
var size:Number = 30;
//参数null将线条设为极细
this.lineStyle(null, 0x0, 100);
for(var i=0;i<=10;i++){
this.moveTo(i*30, 0);
this.lineTo(i*30, 240);
}
for(var i=0;i<=8;i++){
this.moveTo(0, i*30);
this.lineTo(300, i*30);
}
移动鼠标你会发现小方块始终都停留在小方格里面。

2.移位操作符
Flash允许你定义像素值精确到.05px(更小的值将会被忽略),当一个图形的位置坐标是小数时,Flash会对该图形进行抗锯齿操作,图形看起来会有一些模糊。将下面代码放在Flash新文档的第一帧,然后测试。
//你可以新建一空电影剪辑然后在此剪辑里用文本工具随意写点文字并设为静态文本,然后在舞台上
给此剪辑一实例名为ball
程序代码
复制内容到剪贴板
代码:

ball.onEnterFrame = function ( ):Void {
this._x -= (this._x - _xmouse) / 4;
this._y -= (this._y - _ymouse) / 4;
trace(this._x)
};
你会发现输出面板输出的值几乎都是小数,另外文本很模糊,即使你选择了文本抗锯齿也不行。原因在于
文本的位置值是小数,所以被模糊了。Flash帮助文档中的一句原话:将一个值右移一位等效于将它除以 2 并去掉余数。
所以将代码改为下面:
程序代码:
复制内容到剪贴板
代码:

ball.onEnterFrame = function ( ):Void {

this._x -= (this._x - _xmouse) >> 2;
this._y -= (this._y - _ymouse) >> 2;
trace(this._x)
};
测试一下你的影片,你会发现输出面板的输出值都为整数并且文本也很清晰。欢迎大家 一起沟通交流
发表于 2009-1-26 21:55:06 | 显示全部楼层
谢谢楼主共享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|软晨网(RuanChen.com)

GMT+8, 2024-11-23 04:28

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表