Game Engines
› Unreal Engine
› MyCryENGINE
xdedm

扔纸团游戏里面纸团的运行曲线是怎么实现的?

  •  
  •   xdedm · Dec 16, 2015 · 6118 views
    This topic created in 3983 days ago, the information mentioned may be changed or developed.

    想弄一个扔纸团类似的小游戏,不太清楚纸团飞出去曲线的设计方法,有谁知道指教一下。

    13 replies  •  2015-12-17 11:22:31 +08:00
    xupefei
    xupefei
    Dec 16, 2015 via Android
    1
    这有什么指教的啊,受力分析把运动分为垂直和水平两个速度,垂直方向加速度是重力,水平方向速度恒定。如果考虑‘空气阻力的话另说。
    具体的公式请参考初高中物理课本…
    jwk345
    jwk345
    Dec 16, 2015 via iPhone
    2
    高中物理,抛物线
    l6751902
    l6751902
    Dec 16, 2015
    3
    ax^2+bx+c=y
    Daniel65536
    Daniel65536
    Dec 16, 2015 via iPhone
    4
    高中物理基本知识……

    你需要两个变量 Vx Vy ,就是 x 方向速度与 y 方向速度,然后一个重力加速度 g 。
    每帧纸团横向运动 Vx 个像素,纵向移动 Vy 个像素,然后给 Vy 加上 g 以模拟重力加速度对 y 方向速度的影响。
    还可以进一步模拟空气阻力,高速情况下阻力与物体运动速度的平方成正比,低速情况下阻力与物体运动速度成正比,模拟同样是每帧计算阻力大小算出下一帧的新速度。
    xdedm
    xdedm
    OP
    Dec 16, 2015
    5
    额 如果具体到 cocos2dx 引擎该是怎么样的呢? 横向匀速,纵向加速,横向直接 moveto ,纵向的匀加速的过程怎么模拟呢?
    ETiV
    ETiV
    Dec 16, 2015
    6
    加个物理引擎吧, 不用你自己算.
    dqh3000
    dqh3000
    Dec 16, 2015
    7
    建议使用一个物理引擎

    然后只要提供初始加速度就自己计算了

    自己弄也很麻烦啊
    linhua
    linhua
    Dec 16, 2015
    8
    从原理来看:
    算出每一帧(一般 1 秒 24 帧)的坐标不就行了。不过如果考虑到程序的执行时间,可能需要延迟一下,以实现下一帧的时间点到了,再绘制这一帧的数据的功能。这就复杂了。
    lizhenda
    lizhenda
    Dec 16, 2015
    9
    说白了就是直接 setPosition ,通过公式算每帧的位置然后 update 里面更新。
    其实最简单的使用 box2d , cocos2d-x 有 2 个支持的物理引擎,你可以自己选择。
    噢,对了, 3.x 默认整合物理引擎到 Physics 里面了( Scene::createWithPhysics())你可以自己百度
    czk1997
    czk1997
    Dec 17, 2015
    10
    没有外力作用的情况下……
    这不就是斜抛运动么……
    当然你要考虑空气阻力,这个不是特别好算…………
    据形状不同,速度不同,空气阻力会变……
    但是变化不会特别大,所以可以考虑设置个定值或者微弱的递减……
    regeditms
    regeditms
    Dec 17, 2015
    11
    用贝塞尔曲线 实现一个抛物线轨迹,然后让纸团运行吧,简单是这样处理。
    Comdex
    Comdex
    Dec 17, 2015
    12
    搞安卓么?安卓里有个贝塞尔曲线的方法。。。。。
    xdedm
    xdedm
    OP
    Dec 17, 2015
    13
    贝塞尔曲线的却可以描绘曲线,但是每次仍纸团的角度不一样(或者考虑风速不一样), 对应贝塞尔曲线需要选取的控制点也每次都不一样, 所以这里就有每次控制点选取的问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1208 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 17:30 · PVG 01:30 · LAX 09:30 · JFK 12:30
    ♥ Do have faith in what you're doing.