作者rogerforever (roger)
看板Flash
标题[问题] 物件曲线移动
时间Wed Jun 25 14:00:54 2014
最近试着在写桌球的小游戏
目前可以让球从起点直线飞到落点的位置(算两点间斜率)
可桌球飞行时毕竟是抛物线的,这样直线移动完全不对
所以想问问有没有高手知道,在已知两座标的情况下
想让物件曲线移动到另一点,用as3要怎麽写?
[似乎比较像数学问题]
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 120.113.173.111
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Flash/M.1403676056.A.5E7.html
※ 编辑: rogerforever (120.113.173.111), 06/25/2014 14:02:19
2F:推 KawasumiMai:如果设定好游戏中的重力数值应该可以?快还回去了.. 06/25 17:35
3F:→ KawasumiMai:恩,仔细想了一下重力好像还要搭配许多条件... 06/25 17:38
4F:→ mucoci:抛物线好难算…小弟都直接放弃~~ 06/25 18:09
5F:→ puivujh:做个垂直抛物的动画,然後直接移动他就好XD 06/25 18:25
6F:→ tomnelson:最近也在搞这个,不过是C++... 06/26 02:06
7F:推 KawasumiMai:抛物线就二次函数,只是要有条件才能决定abc 06/26 20:47
8F:→ tomnelson:你既然已经可以直线飞行,改一下就好了... 06/27 00:27
9F:→ tomnelson:你每个frame移动前,把球的Y方向速度固定减去某值(其实就 06/27 00:30
10F:→ tomnelson:是g值),算出下一位置,整个连续下来,就会是(近似)抛物曲 06/27 00:31
11F:→ tomnelson:线,不过你的问题应该是:已知两点,怎麽样反推刚好经过这 06/27 00:33
12F:→ tomnelson:两点的抛物线!不过当然你可以先固定某些条件,例如要几个 06/27 00:34
13F:→ tomnelson:frame完成曲线运动/g值,然後反推初速与射角,就可达成. 06/27 00:37
14F:→ tomnelson:这些事我之前搞过,不过是C++,相信AS3也不会差很多.建议 06/27 00:38
15F:→ tomnelson:你找些"抛体运动"的资料来看,厘清观念後,很快就能完成! 06/27 00:40
16F:→ tomnelson:另外建议,可以用向量的方式去写这些code,抛物运动也用向 06/27 00:41
17F:→ tomnelson:量的方式去理解,可以省很多事! 06/27 00:43
18F:→ KawasumiMai:他的问题应该是反推没错 但解法同上 06/27 01:39
19F:→ KawasumiMai:比起公式 用V和g计算x跟y的沿路座标比较好想 06/27 01:39
20F:推 scars:我是想先问 你的视角是怎样? 俯视? 侧视? 06/27 03:45
谢谢大家的回应,比较有方向了。我想做类似这网球游戏的视角↓
http://www.gamedesign.jp/flash/tennis/tennis.html
※ 编辑: rogerforever (120.113.173.111), 06/27/2014 22:59:15
21F:→ scars:那这样你三度空间的运算应该是必要的 加上视角转换 06/28 12:02