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

Flash动画制作
Flash AS 3.0实例教程:用Tween类制作缓动动画
Flash AS2实例教程:制作镭射闪光字动画效果
Flash AS2基础教程:一步绘制线条
Flash cs3仿真艺术设计4.4:模糊滤镜的应用
Flash cs3仿真艺术设计4.5:模糊运动制作飞行文字
Flash cs3仿真艺术设计4.6:组合效果应用实例
Flash cs3仿真艺术设计4.7:模糊滤镜的应用
Flash AS 3.0基础教程:物理基础之重力
Flash AS3.0菜鸟学飞教程:创建自定义类
Flash cs3仿真艺术设计4.8:选择模糊的应用
Flash cs3仿真艺术设计4.9:背景模糊应用技巧
Flash AS3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类
Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件
Flash cs3仿真艺术设计5.1:2.5D基础应用
Flash cs3仿真艺术设计5.2:2.5D高级应用
Flash AS3.0菜鸟学飞教程:含有多个类的AS3类文件
Flash AS3.0实例教程:AS3.0代码制作3D旋转动画效果
Flash cs3仿真艺术设计5.3:2.5D动画技巧之绘制猴子
Flash cs3仿真艺术设计5.4:交换方法制作嘴型吻合
Flash cs3仿真艺术设计5.5:嵌套法打造角色嘴型吻合

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 47 ::
收藏到网摘: 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