コード例 #1
0
ファイル: Stage.cpp プロジェクト: palmerst/CS-4ZP6
void Stage::processContinuousInput(){

    if(keyStates[GLFW_KEY_A])
    {
        cpVect curVel = cpBodyGetVelocity(userControlObject->body);
        if(curVel.x >= -1000.0)
            cpBodySetForce(userControlObject->body, cpv(-100000.0, 0.0));
    }
    if(keyStates[GLFW_KEY_D])
    {
        cpVect curVel = cpBodyGetVelocity(userControlObject->body);
        if(curVel.x <= 1000.0)
            cpBodySetForce(userControlObject->body, cpv(100000.0, 0.0));
    }
    if(!keyStates[GLFW_KEY_A] && !keyStates[GLFW_KEY_D])
    {
        cpVect curVel = cpBodyGetVelocity(userControlObject->body);
        if(curVel.x != 0)
        {
            curVel.x /= 1.1;
            if(curVel.x > -100 || curVel.x < 100)
                curVel.x = 0;
            cpBodySetVelocity(userControlObject->body, curVel);
        }
    }

    if(keyStates[GLFW_KEY_SPACE]){
        cpVect curVel = cpBodyGetVelocity(userControlObject->body);
        //            if(curVel.y < 0.5 && curVel.y > -0.5){
        //                cpBodySetVelocity(userControlObject->body, cpvadd(curVel, cpv(0.0, 1150.0)));
        //                soundMap.find("Jump")->second->play();
        //            }
        if(userControlObject->canJump){
            cpBodySetVelocity(userControlObject->body, cpvadd(curVel, cpv(0.0, 1150.0)));
            soundMap.find("Jump")->second->play();
        }

    }

    if(keyStates[GLFW_KEY_E]){
        firstPerson = !firstPerson;
        camera = Camera();
        keyStates[GLFW_KEY_E] = 0;
    }



}
コード例 #2
0
ファイル: rcpbody.cpp プロジェクト: trsquarelab/csscene
void RCPBody::setForce(RVector const & f)
{
    mForce = f;

    if (mType != Static && mBody) {
        cpBodySetForce(mBody, cpv(mForce.x(), mForce.y()));
    }
}
コード例 #3
0
	void RigidBody2D::CopyBodyData(cpBody* body)
	{
		cpBodySetAngle(m_handle, cpBodyGetAngle(body));
		cpBodySetAngularVelocity(m_handle, cpBodyGetAngularVelocity(body));
		cpBodySetCenterOfGravity(m_handle, cpBodyGetCenterOfGravity(body));
		cpBodySetForce(m_handle, cpBodyGetForce(body));
		cpBodySetPosition(m_handle, cpBodyGetPosition(body));
		cpBodySetTorque(m_handle, cpBodyGetTorque(body));
		cpBodySetVelocity(m_handle, cpBodyGetVelocity(body));
	}
コード例 #4
0
	void RigidBody2D::CopyBodyData(cpBody* from, cpBody* to)
	{
		cpBodySetAngle(to, cpBodyGetAngle(from));
		cpBodySetAngularVelocity(to, cpBodyGetAngularVelocity(from));
		cpBodySetCenterOfGravity(to, cpBodyGetCenterOfGravity(from));
		cpBodySetForce(to, cpBodyGetForce(from));
		cpBodySetPosition(to, cpBodyGetPosition(from));
		cpBodySetTorque(to, cpBodyGetTorque(from));
		cpBodySetVelocity(to, cpBodyGetVelocity(from));
	}
コード例 #5
0
ファイル: physics.c プロジェクト: dns/CLove
static int l_physics_setBodyForce(lua_State* state)
{
    l_tools_checkUserDataPlusErrMsg(state, 1, "You must provide a body");
    l_physics_Body* body = (l_physics_Body*)lua_touserdata(state, 1);

    cpVect vec = cpvzero;
    vec.x = l_tools_toNumberOrError(state, 2);
    vec.y = l_tools_toNumberOrError(state, 3);

    cpBodySetForce(body->body, vec);

    return 0;
}
コード例 #6
0
ファイル: cbody.cpp プロジェクト: dogtwelve/eepp
void cBody::Force( const cVect& force ) {
	cpBodySetForce( mBody, tocpv( force ) );
}
コード例 #7
0
ファイル: CCPhysicsBody.cpp プロジェクト: bonlai/3kaigame
void PhysicsBody::resetForces()
{
    cpBodySetForce(_cpBody,  PhysicsHelper::point2cpv(Vec2(0,0)));
}
コード例 #8
0
ファイル: physics.c プロジェクト: andi2/cgame
void physics_set_force(Entity ent, Vec2 force)
{
    PhysicsInfo *info = entitypool_get(pool, ent);
    error_assert(info);
    cpBodySetForce(info->body, cpv_of_vec2(force));
}
コード例 #9
0
ファイル: Body.cpp プロジェクト: Marwes/CppChipmunk
void Body::setForce(const cp::Vect&  value)
{
		cpBodySetForce(body,value);
}