物理J-移动对象



我正在尝试弄清楚如何使用PhysicsJ。首先,我只想简单地弄清楚如何更改,让我们说一个位置或对象的速度...但是我只是无法弄清楚!

( function()
{
    var viewWidth = 500,
    viewHeight = 300,
    renderer = Physics.renderer( 'canvas', 
    {
        el: 'viewport',
        width: viewWidth,
        height: viewHeight,
        meta: false,
        styles: 
        {
            'circle' : 
            {
                strokeStyle: 'hsla(60, 37%, 17%, 1)',
                lineWidth: 1,
                fillStyle: 'hsla(60, 37%, 57%, 0.8)',
                angleIndicator: 'hsla(60, 37%, 17%, 0.4)'
            }
        }
    }),
    viewportBounds = Physics.aabb(0, 0, viewWidth, viewHeight),
    constraint = {
        aabb: viewportBounds,
        restitution: 0.99,
        cof: 0.99
    },
    ballOptions = {
        x: 100,         // x-coordinate
        y: 100,         // y-coordinate
        vx: 0.0,    // velocity in x-direction
        vy: 0.0,    // velocity in y-direction
        radius: 20
    },
    gravity = Physics.behavior('constant-acceleration', 
    {
        acc: { x : 0, y: 0.0004 } 
    }),
    ball = Physics.body('circle', ballOptions );
    Physics( function( world )
    {
    // add the renderer
    world.add( renderer );
    // add circle
    world.add( ball );
    // subscribe to ticker to advance the simulation
    Physics.util.ticker.subscribe(function( time, dt )
    {
        world.step( time );
    });
    // on every step...
    world.subscribe( 'step', function()
    {
        world.render();
    });
    world.subscribe( 'collisions:detected', function( $collision )
    {
    });
    var onElementClick = function()
    {
        // do something
    };
    document.getElementById( 'viewport' ).addEventListener( 'click', onElementClick, false );
    // Lets GO!
    Physics.util.ticker.start();
});
})();

任何帮助都非常感谢

一个选项是拿起创建的重力,但从未添加到世界上并进行此操作。

world.add(gravity);

这是您询问的关于更改对象的位置或速度的意义上的作弊。为此,修改球的状态。请参阅身体上的文档,特别是属性。您可以设置状态.pos移动它。为了使其运动,请设置速度:

ball.state.vel.set(.1,-.5); // move right and upward

jsfiddle设置速度

相关内容

  • 没有找到相关文章

最新更新