Beispiel #1
0
Space::Space() :
    _space(&_theSpace)
{
    cpSpaceInit(_space);
    cpSpaceSetUserData(_space, this);
    cpSpaceSetDefaultCollisionHandler(_space, beginFunc, preSolveFunc, postSolveFunc, separateFunc, 0);
}
Beispiel #2
0
// make cpSpace object to pass to GUI
cpSpace * core_create_space () {
    
    //create and return new cpSpace
    cpSpace *space;
    space = cpSpaceNew ();
    core_set_gravity ( space, DEFAULT_GRAVITY );
    
    cpSpaceAddCollisionHandler ( space, ASTEROID_COLLISION_TYPE, GOAL_COLLISION_TYPE, core_begin_collision, NULL, NULL, NULL, NULL );
    
    BodyInfo * bi = body_info_new ( 0 );
    bi->index = 0;
    space->staticBody->data = bi; // sets index of static body to 0
    
    GameInfo *gameInfo = game_info_new ();
    cpSpaceSetUserData(space, ( cpDataPointer ) gameInfo);
    
    cpEnableSegmentToSegmentCollisions ();
    return space;
}