快速业务通道

Flash游戏制作常用代码解析(10)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-15

  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
exp 返回 e 的 x 次方的值,其中 e 为自然对数的底 (e),x 为参数 x 中指定的指数. Math.exp(x) 常数 Math.E 可以提供 e 的值.
floor 返回参数 x 中指定的数字或表达式的下限值.下限值是小于等于指定数字或表达式的最接近的整数. Math.floor(x) 表达式:Math.floor(12.5)将返回值:12
log 返回参数 x 的自然对数. Math.log(x) x>0
max 返回两个数中最大者 Math.max(x,y) ?
min 返回两个数中最小者 Math.min(x,y) ?
pow 计算x的y次幂 Math.pow(x) ?
random 返回n,其中 0 <= n < 1 Math.random() 获得a-b之间的随机整数的公式为:
Math.floor(Math.random()*(b-a+1)+a)
round 将参数 x 的值向上或向下舍入为最接近的整数并返回值 Math.round(x) ?
sin 计算并返回以弧度为单位指定的角度的正弦值 Math.sin(x) 换算公式参见cos
sqrt 计算并返回指定数字的平方根 Math.sqrt(x) x>=0
tan 计算并返回指定角度的正切值 Math.tan(x) 换算公式参见cos
  以上我们向大家介绍了Flash游戏制作中最常用的一些ActionScript,掌握了这些基本控制方法,就可以制作出很多有意思的Flash游戏,同时在制作的过程中你还会发现更多的技巧,欢迎投稿和大家一起交流 关键词:代码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号