- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Flashas3中的三角函数
Flash as3中三角函数写这个的原因是在百度知道中回答网友问题,才临时想起来的。Flash中的三角函数如果利用的好,那么可以实现很多效果,也能节省大家很多时间。首先看一下网友的提问:其实如果知道三角函数的话,这个很简单的。无非就是已经知道斜边,知道角度,求对边和邻边的长度。下边是我写的解决方案,这段代码的环境如下图:其中,红色表示的是名字。代码如下(这段代码需要TweenLite类的支持,如果你没有这个类,那么请参考后边的代码)package {importflash.text.TextField;importflash.display.MovieClip;importflash.events.Event;importflash.events.MouseEvent;importcom.greensock.TweenLite;importcom.greensock.easing.Expo;importflash.geom.Point;public class Test extends MovieClip {privatevarrot:Number = 0;privatevarjuli:Number = 0;privatevarmc:MovieClip;privatevar btn1:MovieClip;privatevar btn2:MovieClip;privatevar _pp:Point = new Point;privatevar _newPoint:Point = new Point;privatevar _textRot:TextField;privatevar _textJuli:TextField;privatevar _oldPoint = new Point;privatevar _can:Boolean = false;public function Test() {mc = clip_mc as MovieClip;btn1 = btn1_mc as MovieClip;btn2 = btn2_mc as MovieClip;_textRot = rot_text as TextField;_textJuli = juli_text as TextField;btn1.buttonMode = btn2.buttonMode = true;_oldPoint.x = mc.x;_oldPoint.y = mc.y;btn1.addEventListener(MouseEvent.CLICK, _onClick);btn2.addEventListener(MouseEvent.CLICK, _relo);}private function _relo(e:MouseEvent):void {if (_can) {mc.x = _oldPoint.x;mc.y = _oldPoint.y;mc.rotation = 0;graphics.clear();}}private function _onClick(e:MouseEvent):void {_pp.x = mc.x;_pp.y = mc.y;rot = Number(_textRot.text);juli = Number(_textJuli.text);_newPoint.x = Math.floor(Math.cos(rot * Math.PI / 180) * juli)+_pp.x;_newPoint.y = Math.floor(Math.sin(rot * Math.PI / 180) * juli)+_pp.y;TweenLite.to(mc, 0.6, { rotation:rot, ease:Expo.easeOut, onComplete:_doit } );_can = false;}private function _doit():void{TweenLite.to(mc, 3, { x:_newPoint.x, y:_newPoint.y, ease:Expo.easeOut,onComplete:_delEnter} );graphics.lineStyle(1);graphics.moveTo(_pp.x,_pp.y);this.addEventListener(Event.ENTER_FRAME, _draw);}private function _delEnter():void{_can = true;this.removeEventListener(Event.ENTER_FRAME, _draw);}private function _draw(e:Event):void {graphics.lineTo(
文档评论(0)