当前位置: 首页>>代码示例>>C++>>正文


C++ Gamepad::update方法代码示例

本文整理汇总了C++中Gamepad::update方法的典型用法代码示例。如果您正苦于以下问题:C++ Gamepad::update方法的具体用法?C++ Gamepad::update怎么用?C++ Gamepad::update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Gamepad的用法示例。


在下文中一共展示了Gamepad::update方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: lua_Gamepad_update

int lua_Gamepad_update(lua_State* state)
{
    // Get the number of parameters.
    int paramCount = lua_gettop(state);

    // Attempt to match the parameters to a valid binding.
    switch (paramCount)
    {
        case 2:
        {
            if ((lua_type(state, 1) == LUA_TUSERDATA) &&
                lua_type(state, 2) == LUA_TNUMBER)
            {
                // Get parameter 1 off the stack.
                float param1 = (float)luaL_checknumber(state, 2);

                Gamepad* instance = getInstance(state);
                instance->update(param1);
                
                return 0;
            }

            lua_pushstring(state, "lua_Gamepad_update - Failed to match the given parameters to a valid function signature.");
            lua_error(state);
            break;
        }
        default:
        {
            lua_pushstring(state, "Invalid number of parameters (expected 2).");
            lua_error(state);
            break;
        }
    }
    return 0;
}
开发者ID:Black-Squirrel,项目名称:GamePlay,代码行数:35,代码来源:lua_Gamepad.cpp

示例2: main

int main(int argc, char ** argv) {
	std::cout << "Starting Controller Mouse Emulator" << std::endl;

	float mouseSpeed = 15;
	float scrollSpeed = 25;

	MouseInput mouseInput;
	Gamepad gamepad;
	int dx, dy;
	int sy;

	while (true) {
		gamepad.update();

		dx = (int)(gamepad.getLThumbX() * mouseSpeed);
		dy = (int)(-gamepad.getLThumbY() * mouseSpeed);

		sy = (int)(gamepad.getRThumbY() * scrollSpeed);

		mouseInput.moveMouse(dx, dy);
		mouseInput.scrollWheel(sy);

		if (gamepad.aPressed())
			mouseInput.setLeftMouseDown(true);
		else if (gamepad.aReleased())
			mouseInput.setLeftMouseDown(false);

		if (gamepad.bPressed())
			mouseInput.setRightMouseDown(true);
		else if (gamepad.bReleased())
			mouseInput.setRightMouseDown(false);

		if (gamepad.rsPressed())
			mouseInput.setMiddleMouseDown(true);
		else if (gamepad.rsReleased())
			mouseInput.setMiddleMouseDown(false);

		if (gamepad.rbPressed() && mouseSpeed < MAX_MOUSE_SPEED) {
			mouseSpeed += SPEED_INCREMENT;
			std::cout << "Mouse speed: " << mouseSpeed << std::endl;
		}

		if (gamepad.lbPressed() && mouseSpeed > SPEED_INCREMENT) {
			mouseSpeed -= SPEED_INCREMENT;
			std::cout << "Mouse speed: " << mouseSpeed << std::endl;
		}

		gamepad.updateInput();

		Sleep(15);
	}

	return 0;
}
开发者ID:whupdup,项目名称:Controller-Mouse-Emulator,代码行数:54,代码来源:main.cpp

示例3: main

int main(int argc, char* args[])
{
    const int width=800, height=600, bpp=32;
    const char* caption = "FPS";

    if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
        return 1;

    if (SDL_SetVideoMode(width, height, bpp, SDL_OPENGL) == 0)
        return 2;

    // vsync
    SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1);

    SDL_WM_SetCaption(caption, 0);

    //
    Game* game = CreateGame(width, height);
    Gamepad* gamepad = CreateGamepad();

    Uint32 accum = 0;
    Uint32 lastTick = SDL_GetTicks();

    while (doLoop) {
        const Uint32 now = SDL_GetTicks();
        accum += now-lastTick;
        lastTick = now;

        while (accum > TICKS_PER_FRAME) {
            gamepad->update();
            game->update(*gamepad);
            accum -= TICKS_PER_FRAME;
        }
        game->render();

        // delay some amount of time to play nice with the OS
        // this value can be tweaked
        SDL_Delay(1);
    }

    delete game;
    delete gamepad;

    SDL_Quit();

    return 0;
}
开发者ID:isoiphone,项目名称:cpp_sdl_game,代码行数:47,代码来源:main.cpp


注:本文中的Gamepad::update方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。