新人求助想让一个物体做匀速圆周运动。我一开始用的是让这个物体
gamemaker吧
全部回复
仅看楼主
level 6
下士钢盔猪
楼主
新人求助
想让一个物体做匀速圆周运动。我一开始用的是让这个物体的gravity指向圆心,用a=v^2/r做的。但这样做一是它画不圆(有一定误差)二是很有局限性。求助大佬们有没有更好的方法
2020年08月07日 01点08分
1
level 6
下士钢盔猪
楼主
最好还能求出它转动的周期
2020年08月07日 01点08分
2
level 15
开不了车
如果是恒定的话,直接用x=cos(t),y=sin(t),t是一个随时间增加的变量就可以了。
2020年08月07日 02点08分
3
吧务
level 13
q糖豆p
首先,LZ需要知道,GM的运作机制是按步进行时间离散的。
那么,匀速“圆周”运动,在GM里最接近的应该是“匀速正N边形”运动。当然,某些参数下可能“N不是整数”(不准确,但大概就是这么个意思)。如果是用“加速度指向圆心”来做,理论上可以,但问题就出在”速度方向并不与当前位置-圆心的连线垂直“这个问题上。
运用三角函数的话,速度向圆内便宜的角度也不是不能算,但实在是太麻烦了。一般建议GM里做圆周运动时使用直接坐标操作的模式(区别于速度操作/加速度操作)。3楼的给的基础代码再增加圆心/半径两个参数后就能直接用,周期当然就是相位t从0到2π需要的时间。
2020年08月07日 03点08分
4
level 11
MikuScarlet
直接用lengthdir_x lengthdir_y
2020年08月07日 13点08分
5
1