当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash游戏制作常用代码解析(10)

Flash动画制作
赤手空拳下载Flash
创建一个Flash站点的十大技巧
用Flash制作Google搜索程序
枫桥夜泊下 遮罩效果的动态文本
Flash MX 2004 ActionScript图文教程(十二)
Flash实例教程 扫描文字效果
Flash MX 2004 ActionScript图文教程(十三)
快速制作您的flash图表
Flash MX 2004 ActionScript图文教程(十四)
Flash实例教程 变幻的字母
Flash MX 2004 ActionScript图文教程(十五)
Flash实例教程 相约北京 扬帆青岛
Flash教程实例 光线特效文字
Flash课件实例 画正多边形
Flash课件实例 平行四边形法则
Flash实例教程 小孔成像课件
精简Flash文件体积七法
Flash教程实例:水中浮动的文字
金鸡贺岁!Flash制作鸡年新春动画贺卡
Flash MX 2004新特性实例学习一

Flash动画制作 中的 Flash游戏制作常用代码解析(10)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 109 ::
收藏到网摘: n/a

  9.三角函数的运用

  三角函数属于Flash中的顶级对象----Math,一提到这个名词很多人是不是会感到"恐惧",但在游戏的制作中它可是必不可少的。

  这里我们利用Math的atan方法来制作一个永远指向鼠标的指针(例6),其他的三角函数以及数学函数的用法和注意事项请参考附录中的数学函数表.

例6 源代码下载

  新建一个MC,画一个长度为70的水平指向右侧的箭头(箭头根部放在中心点上),回到场景,Ctrl+J修改影片的大小为200*200,将指针从库中拖入场景,命名为"pointer",修改坐标为100*100,在主timeline的第一帧中写如下AS:

x = _xmouse-100;
y = _ymouse-100;
//将坐标中心移到场景的中心

tan = Math.atan(y/x)*180/Math.PI;
//注意要使用弧度表示的角度值
if (x>=0 && y>=0) {
  r = Math.round(tan);
} else if (x>=0 && y<0) {
  r = Math.round(360+tan);
} else {
  r = Math.round(180+tan);
}
//判断各种不同的情况,通过运算使r值在0-360之间
pointer._rotation = r;
//将r值付给_rotation

  放置一个用来显示r值的文本框属性为Dynamic Text,获取变量(Var)为"r",第二帧建立内容帧,Ctrl+Enter测试。

  附:   

数学函数表(Math)
方法描 述语法说 明
abs计算并返回由参数 x 指定的数字的绝对值.Math.abs(x) 
acos以弧度为单位计算并返回参数 x 中指定的数字的反余弦值.Math.acos(x)-1.0<=x<=1.0
asin以弧度为单位计算并返回参数 x 中指定的数字的反正弦值.Math.asin(x)-1.0<=x<=1.0
atan计算并返回参数 x 中指定的数字的反正切值.Math.atan(x)返回值介于负二分之 pi 与正二分之 pi 之间.
atan2以弧度为单位计算并返回 y/x 的反正切值.返回值表示相对直角三角形对角的角,其中 x 是临边边长,而 y 是对边边长. Math.atan2(y,x)x/y分别指定点的x坐标和y坐标
ceil返回指定数字或表达式的上限值.数字的上限值是大于等于该数字的最接近的整数.Math.ceil(x) 
cos返回由参数 x 指定的角的余弦值(介于 -1.0 与 1.0 之间的值).必须以弧度为单位指定角度 x.Math.cos(x)x为弧度,换算公式为:1弧度=角度*180/Math.PI