注册
 找回密码
 注册
江西广告网
查看: 423|回复: 0
打印 上一主题 下一主题

flash表单制作实例集锦(四)

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2007-4-26 22:25:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  第4节 三角函数值计算   在flash 中,算术计算函数十分有限,很多函数计算都必须手写很多代码得以进行,这对一些不太懂编程的朋友来说是一件很痛苦的事情,此实例提供了一些常用的三角函数例如正弦和余弦的计算,表单最终效果如图4.1所示: 图4.1 最终效果   1.首先启动flash,新建一个影片,设置影片舞台大小为250px*200px(单位为象素),影片背景色为白色.   2.选择工具箱中的文本工具,在舞台上的适当位置输入提示文本"在此输入角度:",然后还是使用文本工具在右边绘制一个文本框,此文本框用来输入一个角度值,此角度值可以被转化为相应的弧度值,然后在属性面板中设置其为输入文本,文本框变量名为angle,其它相关设置如图4.2所示: 图4.2 设置文本框属性   此时舞台如图4.3所示: 图4.3 绘制输入文本框   3.按照相同的方法在舞台的下方输入提示文字:"在此输入角度",还是使用文本工具在右边绘制一个文本框,此文本框用来输出和输入文本框中角度值相对应的弧度值.然后在属性面板中设置其为动态文本框,设置文本变量为output,其它相关设置如图4.4所示; 图4.4 设置动态文本框属性   此时舞台如图4.5所示; 图4.5 绘制动态文本框   4.下面制作用来控制角度转换的部分,我们在一个影片剪辑里实现这样的功能.新建一个影片剪辑元件,命名为trig,进入元件的编辑区后,添加3个图层,自上向下分别命名为stop, set values和action.   选中图层stop,在第1帧添加action: stop();   5.选择图层set values,在第1帧添加如下action: sin0 = 0; sin1 = .0175; sin2 = .0349; sin3 = .0523; sin4 = .0698; sin5 = .0872; sin6 = .1045; sin7 = .1219; sin8 = .1392; sin9 = .1564; sin10 = .1736; sin11 = .1908; sin12 = .2079; sin13 = .2250; sin14 = .2419; sin15 = .2588; sin16 = .2756; sin17 = .2924; sin18 = .3090; sin19 = .3256; sin20 = .3420; sin21 = .3584; sin22 = .3746; sin23 = .3907; sin24 = .4067; sin25 = .4226; sin26 = .4384; sin27 = .4540; sin28 = .4695; sin29 = .4848; sin30 = .5; sin31 = .5150; sin32 = .5299; sin33 = .5446; sin34 = .5592; sin35 = .5736; sin36 = .5878; sin37 = .6018; sin38 = .6157; sin39 = .6293; sin40 = .6428; sin41 = .6561; sin42 = .6691; sin43 = .6820; sin44 = .6947; sin45 = .7071; sin46 = .7193; sin47 = .7314; sin48 = .7431; sin49 = .7547; sin50 = .7660; sin51 = .7771; sin52 = .7880; sin53 = .7986; sin54 = .8090; sin55 = .8192; sin56 = .8290; sin57 = .8387; sin58 = .8480; sin59 = .8572; sin60 = .8660; sin61 = .8746; sin62 = .8829; sin63 = .8910; sin64 = .8988; sin65 = .9063; sin66 = .9135; sin67 = .9205; sin68 = .9272; sin69 = .9336; sin70 = .9397; sin71 = .9455; sin72 = .9511; sin73 = .9563; sin74 = .9613; sin75 = .9659; sin76 = .9703; sin77 = .9744; sin78 = .9781; sin79 = .9816; sin80 = .9848; sin81 = .9877; sin82 = .9903; sin83 = .9925; sin84 = .9945; sin85 = .9962; sin86 = .9976; sin87 = .9986; sin88 = .9994; sin89 = .9998; sin90 = 1; count = 91; while (number(count)<=180) { set("sin" add count, eval ("sin" add (180 - count))); count = number(count)+1; } count = 181; while (number(count)<=270) { set("sin" add count, eval ("sin" add (count - 180)) * -1); count = number(count)+1; } count = 271; while (number(count)<=360) { set("sin" add count, eval ("sin" add (360 - count)) * -1); count = number(count)+1; } count = 0; while (number(count)<=90) { set("cos" add count, eval ("sin" add (90 - count))); count = number(count)+1; } count = 91; while (number(count)<=180) { set("cos" add count, eval ("cos" add (180 - count)) * -1); count = number(count)+1; } count = 181; while (number(count)<=270) { set("cos" add count, eval ("cos" add (count - 180)) * -1); count = number(count)+1; } count = 271; while (number(count)<=360) { set("cos" add count, eval ("cos" add (360 - count)) ); count = number(count)+1; }   上面的代码设置不同范围内"整数角度"的正弦、余弦值,请注意这里是"整数角度"。   6.回到图层action,在第10帧插入关键帧,设置此帧的标签为sin ,在此帧添加如下action: call("adjustangle"); output = eval ("sin" add intdegree);   获得正弦的值并在输出框"output"中输出,第1条语句表示调用标签为"adjustangle",即第3个关键帧中的程序,第2条语句表示从输出框中输出正弦的值。   7.在第20帧插入关键帧,设置此帧的标签为cos,在此帧添加如下action: call("adjustangle"); output = eval ("cos" add intdegree);   表示获得余弦的值并在输出框"output"中输出   在第33帧插入关键帧,设置此帧的标签为adjustangle,在此帧添加如下action: call("adjustangle2"); if (number(intdegree)>360) { intdegree = intdegree-(int(intdegree/360)*360); } if (number(intdegree)<0) { if (number(intdegree) intdegree = intdegree-(int(intdegree/360)*360); } intdegree = number(intdegree)+360; }   第1条语句表示调用标签为"adjustangle2"的帧,即第4个关键帧的程序。下面的语句表示:输入角度大于360或小于0两种情况下的角度取值。   最后在第43帧插入关键帧,设置此帧的标签为adjustangle2,在此帧添加如下action: if (number(arg)>0) { if (number(int(number(arg)+.5))>number(int(arg))) { intdegree = int(number(arg)+.5); } else { intdegree = int(arg); } } else { if (number(int(arg-.5)) intdegree = int(arg-.5); } else { intdegree = int(arg); } }   以上程序表示:当输入的角度为小数时,把角度值化为整数。   8. 接下来制作用来转化角度的按钮.新建一个按钮元件,命名为btn,进入元件的编辑区,随意绘制一个按钮即可,根据自己的喜好来设置,本例中所绘按钮如图4.6所示; 图4.6 制作控制按钮   9.回到主场景中,将元件trig拖到工作区中,在属性面板中设置其实例名为trig,然后分两次将按钮元件btn拖到舞台中,并分别给每个按钮添加如图4.7所示的提示信息: 图4.7 设置按钮   10.其中正弦按钮用来将输入的角度值转化为正弦值,下面的余弦按钮将角度值转化为余弦值.最后给正弦按钮添加如下action; on (release) { /trig:arg = angle; call("/trig:sin"); output = /trigutput; } 给余弦按钮添加如下action; on (release) { /trig:arg = angle; call("/trig:cos"); output = /trigutput; } -------------------------------------- http://www.huoyue.com.cn 活跃网,活跃人群的论坛,访问活跃网,将给您带来意想不到的收获,还可以免费为您开论坛,让您免费拥有与朋友、网友交流的论坛。你是年轻人吗?你活跃你就上!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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