11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 3403|回复: 11
上一主题 下一主题

[算法 & 公式] 【9RIA—iloveas】— AS3游戏实用技巧(11):一行代码让圆周运动不依赖于三角函数

[复制链接] TA的其它主题
发表于 2018-12-14 14:55:47 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

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

x
本帖最后由 TKCB 于 2019-3-19 09:08 编辑

转载:9RIA游戏开发者社区(天地会)
作者:iloveas(大神)


总目录:[原创]AS3游戏开发实用技巧汇总




五一结束了,大家的正事都办的怎样啦?iloveas可没什么正事可办,那就继续写教程吧。

都说编程对数学要求很高。没错,就以圆周运动为例,想在AS3里实现它,我们一般都这么写:

[Actionscript3] 纯文本查看 复制代码
    var centerX:Number = 300;
    var centerY:Number = 200;
    var radius:Number = 20;
    var degree:Number = 0;
    addEventListener(Event.ENTER_FRAME, enterFrameHandler);
    function enterFrameHandler(event:Event):void{
      display.x = centerX + radius * Math.cos(degree * Math.PI / 180);
      display.y = centerY + radius * Math.sin(degree * Math.PI / 180);
      degree += 5;
    }


其中centerX和centerY分别是圆心的x坐标和y坐标,radius为圆周的半径,degree是当前角度。

代码中出现了cos和sin两个三角函数,可别觉得这些中学的基础知识大家都懂,没准就在高中毕业当天,就有不少人把这些函数都还给老师了。就像iloveas,除了“欲穷干里日”一句外,小学课本里教过的古诗词都早给我忘的一干二净了。

那么,有没办法不通过这些蛋疼的三角函数来实现同样的效果呢?说到这里,大神们估计很容易想到向量、矩阵等高端货,不过今天iloveas给大家分享一个更简单的做法,只要一行代码,什么弦什么切的都可以一边凉快去了:
游客,如果您要查看本帖隐藏内容请回复

如果你喜欢装逼,那以下写法会更适合你:
游客,如果您要查看本帖隐藏内容请回复

不可否认的是,iloveas今天介绍的方法在运行效率方面比自己写三角函数要差的多,但它很适合像iloveas这样的数学白痴们入门编程这一行。在这点上,AS3确实做的比其他语言好,所以不管AS3的明天何去何从,大家都来多多支持AS3吧。


我来带头,为了让更多的人看到这方法,我直接设置回复可见。


发表于 2018-12-14 17:37:36 | 显示全部楼层
收藏学习!
回复

使用道具 举报

发表于 2018-12-14 17:59:54 | 显示全部楼层
支持格美·~
回复

使用道具 举报

发表于 2019-4-19 11:02:11 | 显示全部楼层
膜拜格美大神
回复

使用道具 举报

发表于 2019-5-8 11:40:44 | 显示全部楼层
再来膜拜大神
回复

使用道具 举报

发表于 2020-9-24 09:08:55 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2020-11-3 15:43:06 | 显示全部楼层
康康。。。。。。。。。
回复

使用道具 举报

发表于 2021-6-16 23:57:48 | 显示全部楼层
数学渣来学习了      
回复

使用道具 举报

发表于 2022-3-10 10:59:11 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2022-3-31 17:52:21 | 显示全部楼层
学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



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